skywriter 1.0.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/LICENSE +16 -0
- package/README.md +852 -0
- package/dist/cli/commands/host.d.ts +6 -0
- package/dist/cli/commands/host.d.ts.map +1 -0
- package/dist/cli/commands/host.js +52 -0
- package/dist/cli/commands/host.js.map +1 -0
- package/dist/cli/commands/init.d.ts +15 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +207 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/login.d.ts +18 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/login.js +152 -0
- package/dist/cli/commands/login.js.map +1 -0
- package/dist/cli/commands/logout.d.ts +15 -0
- package/dist/cli/commands/logout.d.ts.map +1 -0
- package/dist/cli/commands/logout.js +62 -0
- package/dist/cli/commands/logout.js.map +1 -0
- package/dist/cli/commands/pull.d.ts +19 -0
- package/dist/cli/commands/pull.d.ts.map +1 -0
- package/dist/cli/commands/pull.js +44 -0
- package/dist/cli/commands/pull.js.map +1 -0
- package/dist/cli/commands/push.d.ts +9 -0
- package/dist/cli/commands/push.d.ts.map +1 -0
- package/dist/cli/commands/push.js +49 -0
- package/dist/cli/commands/push.js.map +1 -0
- package/dist/cli/commands/removeServer.d.ts +9 -0
- package/dist/cli/commands/removeServer.d.ts.map +1 -0
- package/dist/cli/commands/removeServer.js +55 -0
- package/dist/cli/commands/removeServer.js.map +1 -0
- package/dist/cli/commands/render.d.ts +6 -0
- package/dist/cli/commands/render.d.ts.map +1 -0
- package/dist/cli/commands/render.js +11 -0
- package/dist/cli/commands/render.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +7 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +55 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/sessions.d.ts +6 -0
- package/dist/cli/commands/sessions.d.ts.map +1 -0
- package/dist/cli/commands/sessions.js +24 -0
- package/dist/cli/commands/sessions.js.map +1 -0
- package/dist/cli/commands/settings.d.ts +10 -0
- package/dist/cli/commands/settings.d.ts.map +1 -0
- package/dist/cli/commands/settings.js +69 -0
- package/dist/cli/commands/settings.js.map +1 -0
- package/dist/cli/commands/switchServer.d.ts +9 -0
- package/dist/cli/commands/switchServer.d.ts.map +1 -0
- package/dist/cli/commands/switchServer.js +52 -0
- package/dist/cli/commands/switchServer.js.map +1 -0
- package/dist/cli/commands/vscodeInit.d.ts +13 -0
- package/dist/cli/commands/vscodeInit.d.ts.map +1 -0
- package/dist/cli/commands/vscodeInit.js +152 -0
- package/dist/cli/commands/vscodeInit.js.map +1 -0
- package/dist/cli/commands/whoami.d.ts +6 -0
- package/dist/cli/commands/whoami.d.ts.map +1 -0
- package/dist/cli/commands/whoami.js +67 -0
- package/dist/cli/commands/whoami.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/middleware/checkDuplicatePath.d.ts +19 -0
- package/dist/cli/middleware/checkDuplicatePath.d.ts.map +1 -0
- package/dist/cli/middleware/checkDuplicatePath.js +45 -0
- package/dist/cli/middleware/checkDuplicatePath.js.map +1 -0
- package/dist/cli/middleware/redirectRoot.d.ts +18 -0
- package/dist/cli/middleware/redirectRoot.d.ts.map +1 -0
- package/dist/cli/middleware/redirectRoot.js +44 -0
- package/dist/cli/middleware/redirectRoot.js.map +1 -0
- package/dist/cli/middleware/serveDocument.d.ts +10 -0
- package/dist/cli/middleware/serveDocument.d.ts.map +1 -0
- package/dist/cli/middleware/serveDocument.js +104 -0
- package/dist/cli/middleware/serveDocument.js.map +1 -0
- package/dist/cli/middleware/serveUploads.d.ts +20 -0
- package/dist/cli/middleware/serveUploads.d.ts.map +1 -0
- package/dist/cli/middleware/serveUploads.js +93 -0
- package/dist/cli/middleware/serveUploads.js.map +1 -0
- package/dist/cli/middleware/types.d.ts +43 -0
- package/dist/cli/middleware/types.d.ts.map +1 -0
- package/dist/cli/middleware/types.js +2 -0
- package/dist/cli/middleware/types.js.map +1 -0
- package/dist/cli/pathOperations/deletePathUploads.d.ts +6 -0
- package/dist/cli/pathOperations/deletePathUploads.d.ts.map +1 -0
- package/dist/cli/pathOperations/deletePathUploads.js +68 -0
- package/dist/cli/pathOperations/deletePathUploads.js.map +1 -0
- package/dist/cli/pathOperations/downloadPathUploads.d.ts +6 -0
- package/dist/cli/pathOperations/downloadPathUploads.d.ts.map +1 -0
- package/dist/cli/pathOperations/downloadPathUploads.js +156 -0
- package/dist/cli/pathOperations/downloadPathUploads.js.map +1 -0
- package/dist/cli/pathOperations/pullPathViaGit.d.ts +9 -0
- package/dist/cli/pathOperations/pullPathViaGit.d.ts.map +1 -0
- package/dist/cli/pathOperations/pullPathViaGit.js +86 -0
- package/dist/cli/pathOperations/pullPathViaGit.js.map +1 -0
- package/dist/cli/pathOperations/pullPathViaTar.d.ts +14 -0
- package/dist/cli/pathOperations/pullPathViaTar.d.ts.map +1 -0
- package/dist/cli/pathOperations/pullPathViaTar.js +252 -0
- package/dist/cli/pathOperations/pullPathViaTar.js.map +1 -0
- package/dist/cli/pathOperations/pushPathViaGit.d.ts +9 -0
- package/dist/cli/pathOperations/pushPathViaGit.d.ts.map +1 -0
- package/dist/cli/pathOperations/pushPathViaGit.js +49 -0
- package/dist/cli/pathOperations/pushPathViaGit.js.map +1 -0
- package/dist/cli/pathOperations/pushPathViaTar.d.ts +6 -0
- package/dist/cli/pathOperations/pushPathViaTar.d.ts.map +1 -0
- package/dist/cli/pathOperations/pushPathViaTar.js +63 -0
- package/dist/cli/pathOperations/pushPathViaTar.js.map +1 -0
- package/dist/cli/pathOperations/uploadPathUploads.d.ts +6 -0
- package/dist/cli/pathOperations/uploadPathUploads.d.ts.map +1 -0
- package/dist/cli/pathOperations/uploadPathUploads.js +114 -0
- package/dist/cli/pathOperations/uploadPathUploads.js.map +1 -0
- package/dist/cli/pathOperations/validatePathSettings.d.ts +14 -0
- package/dist/cli/pathOperations/validatePathSettings.d.ts.map +1 -0
- package/dist/cli/pathOperations/validatePathSettings.js +191 -0
- package/dist/cli/pathOperations/validatePathSettings.js.map +1 -0
- package/dist/cli/utils/assemble.d.ts +22 -0
- package/dist/cli/utils/assemble.d.ts.map +1 -0
- package/dist/cli/utils/assemble.js +219 -0
- package/dist/cli/utils/assemble.js.map +1 -0
- package/dist/cli/utils/cliName.d.ts +3 -0
- package/dist/cli/utils/cliName.d.ts.map +1 -0
- package/dist/cli/utils/cliName.js +17 -0
- package/dist/cli/utils/cliName.js.map +1 -0
- package/dist/cli/utils/codeWorkspace.d.ts +13 -0
- package/dist/cli/utils/codeWorkspace.d.ts.map +1 -0
- package/dist/cli/utils/codeWorkspace.js +20 -0
- package/dist/cli/utils/codeWorkspace.js.map +1 -0
- package/dist/cli/utils/colors.d.ts +14 -0
- package/dist/cli/utils/colors.d.ts.map +1 -0
- package/dist/cli/utils/colors.js +22 -0
- package/dist/cli/utils/colors.js.map +1 -0
- package/dist/cli/utils/config.d.ts +35 -0
- package/dist/cli/utils/config.d.ts.map +1 -0
- package/dist/cli/utils/config.js +95 -0
- package/dist/cli/utils/config.js.map +1 -0
- package/dist/cli/utils/copilotInstructions.d.ts +5 -0
- package/dist/cli/utils/copilotInstructions.d.ts.map +1 -0
- package/dist/cli/utils/copilotInstructions.js +101 -0
- package/dist/cli/utils/copilotInstructions.js.map +1 -0
- package/dist/cli/utils/createLoggedFs.d.ts +17 -0
- package/dist/cli/utils/createLoggedFs.d.ts.map +1 -0
- package/dist/cli/utils/createLoggedFs.js +106 -0
- package/dist/cli/utils/createLoggedFs.js.map +1 -0
- package/dist/cli/utils/credentials.d.ts +38 -0
- package/dist/cli/utils/credentials.d.ts.map +1 -0
- package/dist/cli/utils/credentials.js +400 -0
- package/dist/cli/utils/credentials.js.map +1 -0
- package/dist/cli/utils/discover.d.ts +26 -0
- package/dist/cli/utils/discover.d.ts.map +1 -0
- package/dist/cli/utils/discover.js +209 -0
- package/dist/cli/utils/discover.js.map +1 -0
- package/dist/cli/utils/formatPlan.d.ts +40 -0
- package/dist/cli/utils/formatPlan.d.ts.map +1 -0
- package/dist/cli/utils/formatPlan.js +148 -0
- package/dist/cli/utils/formatPlan.js.map +1 -0
- package/dist/cli/utils/git.d.ts +17 -0
- package/dist/cli/utils/git.d.ts.map +1 -0
- package/dist/cli/utils/git.js +57 -0
- package/dist/cli/utils/git.js.map +1 -0
- package/dist/cli/utils/gitUrl.d.ts +7 -0
- package/dist/cli/utils/gitUrl.d.ts.map +1 -0
- package/dist/cli/utils/gitUrl.js +23 -0
- package/dist/cli/utils/gitUrl.js.map +1 -0
- package/dist/cli/utils/log.d.ts +22 -0
- package/dist/cli/utils/log.d.ts.map +1 -0
- package/dist/cli/utils/log.js +31 -0
- package/dist/cli/utils/log.js.map +1 -0
- package/dist/cli/utils/logData.d.ts +5 -0
- package/dist/cli/utils/logData.d.ts.map +1 -0
- package/dist/cli/utils/logData.js +65 -0
- package/dist/cli/utils/logData.js.map +1 -0
- package/dist/cli/utils/loggedFetch.d.ts +4 -0
- package/dist/cli/utils/loggedFetch.d.ts.map +1 -0
- package/dist/cli/utils/loggedFetch.js +15 -0
- package/dist/cli/utils/loggedFetch.js.map +1 -0
- package/dist/cli/utils/pageContext.d.ts +50 -0
- package/dist/cli/utils/pageContext.d.ts.map +1 -0
- package/dist/cli/utils/pageContext.js +86 -0
- package/dist/cli/utils/pageContext.js.map +1 -0
- package/dist/cli/utils/parseDocumentPath.d.ts +13 -0
- package/dist/cli/utils/parseDocumentPath.d.ts.map +1 -0
- package/dist/cli/utils/parseDocumentPath.js +35 -0
- package/dist/cli/utils/parseDocumentPath.js.map +1 -0
- package/dist/cli/utils/populateCache.d.ts +12 -0
- package/dist/cli/utils/populateCache.d.ts.map +1 -0
- package/dist/cli/utils/populateCache.js +21 -0
- package/dist/cli/utils/populateCache.js.map +1 -0
- package/dist/cli/utils/prefixLog.d.ts +21 -0
- package/dist/cli/utils/prefixLog.d.ts.map +1 -0
- package/dist/cli/utils/prefixLog.js +73 -0
- package/dist/cli/utils/prefixLog.js.map +1 -0
- package/dist/cli/utils/program.d.ts +7 -0
- package/dist/cli/utils/program.d.ts.map +1 -0
- package/dist/cli/utils/program.js +266 -0
- package/dist/cli/utils/program.js.map +1 -0
- package/dist/cli/utils/promptExec.d.ts +27 -0
- package/dist/cli/utils/promptExec.d.ts.map +1 -0
- package/dist/cli/utils/promptExec.js +47 -0
- package/dist/cli/utils/promptExec.js.map +1 -0
- package/dist/cli/utils/pullHarness.d.ts +15 -0
- package/dist/cli/utils/pullHarness.d.ts.map +1 -0
- package/dist/cli/utils/pullHarness.js +101 -0
- package/dist/cli/utils/pullHarness.js.map +1 -0
- package/dist/cli/utils/pullViaGit.d.ts +6 -0
- package/dist/cli/utils/pullViaGit.d.ts.map +1 -0
- package/dist/cli/utils/pullViaGit.js +13 -0
- package/dist/cli/utils/pullViaGit.js.map +1 -0
- package/dist/cli/utils/pullViaTar.d.ts +10 -0
- package/dist/cli/utils/pullViaTar.d.ts.map +1 -0
- package/dist/cli/utils/pullViaTar.js +15 -0
- package/dist/cli/utils/pullViaTar.js.map +1 -0
- package/dist/cli/utils/pushHarness.d.ts +24 -0
- package/dist/cli/utils/pushHarness.d.ts.map +1 -0
- package/dist/cli/utils/pushHarness.js +82 -0
- package/dist/cli/utils/pushHarness.js.map +1 -0
- package/dist/cli/utils/pushViaGit.d.ts +6 -0
- package/dist/cli/utils/pushViaGit.d.ts.map +1 -0
- package/dist/cli/utils/pushViaGit.js +16 -0
- package/dist/cli/utils/pushViaGit.js.map +1 -0
- package/dist/cli/utils/pushViaTar.d.ts +6 -0
- package/dist/cli/utils/pushViaTar.d.ts.map +1 -0
- package/dist/cli/utils/pushViaTar.js +9 -0
- package/dist/cli/utils/pushViaTar.js.map +1 -0
- package/dist/cli/utils/resolveTarget.d.ts +23 -0
- package/dist/cli/utils/resolveTarget.d.ts.map +1 -0
- package/dist/cli/utils/resolveTarget.js +43 -0
- package/dist/cli/utils/resolveTarget.js.map +1 -0
- package/dist/cli/utils/settingsValidation.d.ts +23 -0
- package/dist/cli/utils/settingsValidation.d.ts.map +1 -0
- package/dist/cli/utils/settingsValidation.js +176 -0
- package/dist/cli/utils/settingsValidation.js.map +1 -0
- package/dist/cli/utils/types.d.ts +33 -0
- package/dist/cli/utils/types.d.ts.map +1 -0
- package/dist/cli/utils/types.js +2 -0
- package/dist/cli/utils/types.js.map +1 -0
- package/dist/cli/utils/validateAndGetFilesFromDir.d.ts +10 -0
- package/dist/cli/utils/validateAndGetFilesFromDir.d.ts.map +1 -0
- package/dist/cli/utils/validateAndGetFilesFromDir.js +74 -0
- package/dist/cli/utils/validateAndGetFilesFromDir.js.map +1 -0
- package/dist/cli/utils/watchForChanges.d.ts +7 -0
- package/dist/cli/utils/watchForChanges.d.ts.map +1 -0
- package/dist/cli/utils/watchForChanges.js +44 -0
- package/dist/cli/utils/watchForChanges.js.map +1 -0
- package/dist/db/index.d.ts +5 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +23 -0
- package/dist/db/index.js.map +1 -0
- package/dist/editor.bundle.dev.js +30823 -0
- package/dist/editor.bundle.dev.js.map +7 -0
- package/dist/editor.bundle.js +30347 -0
- package/dist/editor.bundle.js.map +7 -0
- package/dist/editor.bundle.prod.js +1373 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/operations/addRedirect.d.ts +20 -0
- package/dist/operations/addRedirect.d.ts.map +1 -0
- package/dist/operations/addRedirect.js +46 -0
- package/dist/operations/addRedirect.js.map +1 -0
- package/dist/operations/addUpload.d.ts +29 -0
- package/dist/operations/addUpload.d.ts.map +1 -0
- package/dist/operations/addUpload.js +96 -0
- package/dist/operations/addUpload.js.map +1 -0
- package/dist/operations/addUploadsFromContent.d.ts +27 -0
- package/dist/operations/addUploadsFromContent.d.ts.map +1 -0
- package/dist/operations/addUploadsFromContent.js +311 -0
- package/dist/operations/addUploadsFromContent.js.map +1 -0
- package/dist/operations/clearDraft.d.ts +17 -0
- package/dist/operations/clearDraft.d.ts.map +1 -0
- package/dist/operations/clearDraft.js +56 -0
- package/dist/operations/clearDraft.js.map +1 -0
- package/dist/operations/createDocumentRecord.d.ts +11 -0
- package/dist/operations/createDocumentRecord.d.ts.map +1 -0
- package/dist/operations/createDocumentRecord.js +100 -0
- package/dist/operations/createDocumentRecord.js.map +1 -0
- package/dist/operations/createRoute.d.ts +6 -0
- package/dist/operations/createRoute.d.ts.map +1 -0
- package/dist/operations/createRoute.js +10 -0
- package/dist/operations/createRoute.js.map +1 -0
- package/dist/operations/createSession.d.ts +21 -0
- package/dist/operations/createSession.d.ts.map +1 -0
- package/dist/operations/createSession.js +27 -0
- package/dist/operations/createSession.js.map +1 -0
- package/dist/operations/deleteSession.d.ts +13 -0
- package/dist/operations/deleteSession.d.ts.map +1 -0
- package/dist/operations/deleteSession.js +15 -0
- package/dist/operations/deleteSession.js.map +1 -0
- package/dist/operations/findDocument.d.ts +18 -0
- package/dist/operations/findDocument.d.ts.map +1 -0
- package/dist/operations/findDocument.js +53 -0
- package/dist/operations/findDocument.js.map +1 -0
- package/dist/operations/getAllUploadsForDocument.d.ts +11 -0
- package/dist/operations/getAllUploadsForDocument.d.ts.map +1 -0
- package/dist/operations/getAllUploadsForDocument.js +15 -0
- package/dist/operations/getAllUploadsForDocument.js.map +1 -0
- package/dist/operations/getDocumentClientState.d.ts +30 -0
- package/dist/operations/getDocumentClientState.d.ts.map +1 -0
- package/dist/operations/getDocumentClientState.js +246 -0
- package/dist/operations/getDocumentClientState.js.map +1 -0
- package/dist/operations/getDocumentInstance.d.ts +7 -0
- package/dist/operations/getDocumentInstance.d.ts.map +1 -0
- package/dist/operations/getDocumentInstance.js +32 -0
- package/dist/operations/getDocumentInstance.js.map +1 -0
- package/dist/operations/getDocumentRecord.d.ts +6 -0
- package/dist/operations/getDocumentRecord.d.ts.map +1 -0
- package/dist/operations/getDocumentRecord.js +8 -0
- package/dist/operations/getDocumentRecord.js.map +1 -0
- package/dist/operations/getDualDocument.d.ts +28 -0
- package/dist/operations/getDualDocument.d.ts.map +1 -0
- package/dist/operations/getDualDocument.js +81 -0
- package/dist/operations/getDualDocument.js.map +1 -0
- package/dist/operations/getDualDocuments.d.ts +26 -0
- package/dist/operations/getDualDocuments.d.ts.map +1 -0
- package/dist/operations/getDualDocuments.js +130 -0
- package/dist/operations/getDualDocuments.js.map +1 -0
- package/dist/operations/getOptimisticDocument.d.ts +6 -0
- package/dist/operations/getOptimisticDocument.d.ts.map +1 -0
- package/dist/operations/getOptimisticDocument.js +30 -0
- package/dist/operations/getOptimisticDocument.js.map +1 -0
- package/dist/operations/getPage.d.ts +18 -0
- package/dist/operations/getPage.d.ts.map +1 -0
- package/dist/operations/getPage.js +31 -0
- package/dist/operations/getPage.js.map +1 -0
- package/dist/operations/getPages.d.ts +18 -0
- package/dist/operations/getPages.d.ts.map +1 -0
- package/dist/operations/getPages.js +30 -0
- package/dist/operations/getPages.js.map +1 -0
- package/dist/operations/getRedirects.d.ts +13 -0
- package/dist/operations/getRedirects.d.ts.map +1 -0
- package/dist/operations/getRedirects.js +30 -0
- package/dist/operations/getRedirects.js.map +1 -0
- package/dist/operations/getRenderDocument.d.ts +18 -0
- package/dist/operations/getRenderDocument.d.ts.map +1 -0
- package/dist/operations/getRenderDocument.js +27 -0
- package/dist/operations/getRenderDocument.js.map +1 -0
- package/dist/operations/getRenderDocumentWithAssociations.d.ts +15 -0
- package/dist/operations/getRenderDocumentWithAssociations.d.ts.map +1 -0
- package/dist/operations/getRenderDocumentWithAssociations.js +64 -0
- package/dist/operations/getRenderDocumentWithAssociations.js.map +1 -0
- package/dist/operations/getRenderDocuments.d.ts +16 -0
- package/dist/operations/getRenderDocuments.d.ts.map +1 -0
- package/dist/operations/getRenderDocuments.js +25 -0
- package/dist/operations/getRenderDocuments.js.map +1 -0
- package/dist/operations/getUpload.d.ts +25 -0
- package/dist/operations/getUpload.d.ts.map +1 -0
- package/dist/operations/getUpload.js +37 -0
- package/dist/operations/getUpload.js.map +1 -0
- package/dist/operations/getUploads.d.ts +25 -0
- package/dist/operations/getUploads.d.ts.map +1 -0
- package/dist/operations/getUploads.js +76 -0
- package/dist/operations/getUploads.js.map +1 -0
- package/dist/operations/getUsersCount.d.ts +12 -0
- package/dist/operations/getUsersCount.d.ts.map +1 -0
- package/dist/operations/getUsersCount.js +12 -0
- package/dist/operations/getUsersCount.js.map +1 -0
- package/dist/operations/login.d.ts +20 -0
- package/dist/operations/login.d.ts.map +1 -0
- package/dist/operations/login.js +38 -0
- package/dist/operations/login.js.map +1 -0
- package/dist/operations/removeDocument.d.ts +19 -0
- package/dist/operations/removeDocument.d.ts.map +1 -0
- package/dist/operations/removeDocument.js +54 -0
- package/dist/operations/removeDocument.js.map +1 -0
- package/dist/operations/removeRedirect.d.ts +15 -0
- package/dist/operations/removeRedirect.d.ts.map +1 -0
- package/dist/operations/removeRedirect.js +71 -0
- package/dist/operations/removeRedirect.js.map +1 -0
- package/dist/operations/removeUpload.d.ts +21 -0
- package/dist/operations/removeUpload.d.ts.map +1 -0
- package/dist/operations/removeUpload.js +49 -0
- package/dist/operations/removeUpload.js.map +1 -0
- package/dist/operations/search.d.ts +19 -0
- package/dist/operations/search.d.ts.map +1 -0
- package/dist/operations/search.js +109 -0
- package/dist/operations/search.js.map +1 -0
- package/dist/operations/seedIfEmpty.d.ts +7 -0
- package/dist/operations/seedIfEmpty.d.ts.map +1 -0
- package/dist/operations/seedIfEmpty.js +100 -0
- package/dist/operations/seedIfEmpty.js.map +1 -0
- package/dist/operations/signup.d.ts +21 -0
- package/dist/operations/signup.d.ts.map +1 -0
- package/dist/operations/signup.js +45 -0
- package/dist/operations/signup.js.map +1 -0
- package/dist/operations/types.d.ts +223 -0
- package/dist/operations/types.d.ts.map +1 -0
- package/dist/operations/types.js +2 -0
- package/dist/operations/types.js.map +1 -0
- package/dist/operations/updateUpload.d.ts +27 -0
- package/dist/operations/updateUpload.d.ts.map +1 -0
- package/dist/operations/updateUpload.js +78 -0
- package/dist/operations/updateUpload.js.map +1 -0
- package/dist/operations/updateViaArchive.d.ts +23 -0
- package/dist/operations/updateViaArchive.d.ts.map +1 -0
- package/dist/operations/updateViaArchive.js +229 -0
- package/dist/operations/updateViaArchive.js.map +1 -0
- package/dist/operations/upsert.d.ts +26 -0
- package/dist/operations/upsert.d.ts.map +1 -0
- package/dist/operations/upsert.js +257 -0
- package/dist/operations/upsert.js.map +1 -0
- package/dist/operations/utils/common.d.ts +2 -0
- package/dist/operations/utils/common.d.ts.map +1 -0
- package/dist/operations/utils/common.js +2 -0
- package/dist/operations/utils/common.js.map +1 -0
- package/dist/operations/utils/contentType.d.ts +2 -0
- package/dist/operations/utils/contentType.d.ts.map +1 -0
- package/dist/operations/utils/contentType.js +66 -0
- package/dist/operations/utils/contentType.js.map +1 -0
- package/dist/operations/utils/dataType.d.ts +7 -0
- package/dist/operations/utils/dataType.d.ts.map +1 -0
- package/dist/operations/utils/dataType.js +35 -0
- package/dist/operations/utils/dataType.js.map +1 -0
- package/dist/operations/utils/generateUniqueFilename.d.ts +7 -0
- package/dist/operations/utils/generateUniqueFilename.d.ts.map +1 -0
- package/dist/operations/utils/generateUniqueFilename.js +38 -0
- package/dist/operations/utils/generateUniqueFilename.js.map +1 -0
- package/dist/operations/utils/hasEtaTemplates.d.ts +2 -0
- package/dist/operations/utils/hasEtaTemplates.d.ts.map +1 -0
- package/dist/operations/utils/hasEtaTemplates.js +10 -0
- package/dist/operations/utils/hasEtaTemplates.js.map +1 -0
- package/dist/operations/utils/normalizeDocumentQuery.d.ts +12 -0
- package/dist/operations/utils/normalizeDocumentQuery.d.ts.map +1 -0
- package/dist/operations/utils/normalizeDocumentQuery.js +45 -0
- package/dist/operations/utils/normalizeDocumentQuery.js.map +1 -0
- package/dist/operations/utils/utils.d.ts +4 -0
- package/dist/operations/utils/utils.d.ts.map +1 -0
- package/dist/operations/utils/utils.js +4 -0
- package/dist/operations/utils/utils.js.map +1 -0
- package/dist/operations/validateSession.d.ts +17 -0
- package/dist/operations/validateSession.d.ts.map +1 -0
- package/dist/operations/validateSession.js +27 -0
- package/dist/operations/validateSession.js.map +1 -0
- package/dist/render/index.d.ts +9 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +347 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/utils/base.d.ts +74 -0
- package/dist/render/utils/base.d.ts.map +1 -0
- package/dist/render/utils/base.js +290 -0
- package/dist/render/utils/base.js.map +1 -0
- package/dist/render/utils/extractRawBlocks.d.ts +10 -0
- package/dist/render/utils/extractRawBlocks.d.ts.map +1 -0
- package/dist/render/utils/extractRawBlocks.js +28 -0
- package/dist/render/utils/extractRawBlocks.js.map +1 -0
- package/dist/render/utils/rawBlocks.d.ts +10 -0
- package/dist/render/utils/rawBlocks.d.ts.map +1 -0
- package/dist/render/utils/rawBlocks.js +28 -0
- package/dist/render/utils/rawBlocks.js.map +1 -0
- package/dist/render/utils/usageTracker.d.ts +10 -0
- package/dist/render/utils/usageTracker.d.ts.map +1 -0
- package/dist/render/utils/usageTracker.js +87 -0
- package/dist/render/utils/usageTracker.js.map +1 -0
- package/dist/responder/index.d.ts +34 -0
- package/dist/responder/index.d.ts.map +1 -0
- package/dist/responder/index.js +546 -0
- package/dist/responder/index.js.map +1 -0
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +54 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/middleware/authorize.d.ts +3 -0
- package/dist/server/middleware/authorize.d.ts.map +1 -0
- package/dist/server/middleware/authorize.js +15 -0
- package/dist/server/middleware/authorize.js.map +1 -0
- package/dist/server/middleware/establishAuth.d.ts +3 -0
- package/dist/server/middleware/establishAuth.d.ts.map +1 -0
- package/dist/server/middleware/establishAuth.js +45 -0
- package/dist/server/middleware/establishAuth.js.map +1 -0
- package/dist/server/middleware/log.d.ts +3 -0
- package/dist/server/middleware/log.d.ts.map +1 -0
- package/dist/server/middleware/log.js +12 -0
- package/dist/server/middleware/log.js.map +1 -0
- package/dist/server/middleware/requirePathMatch.d.ts +3 -0
- package/dist/server/middleware/requirePathMatch.d.ts.map +1 -0
- package/dist/server/middleware/requirePathMatch.js +25 -0
- package/dist/server/middleware/requirePathMatch.js.map +1 -0
- package/dist/server/middleware/requireQuery.d.ts +3 -0
- package/dist/server/middleware/requireQuery.d.ts.map +1 -0
- package/dist/server/middleware/requireQuery.js +24 -0
- package/dist/server/middleware/requireQuery.js.map +1 -0
- package/dist/server/middleware/withDb.d.ts +4 -0
- package/dist/server/middleware/withDb.d.ts.map +1 -0
- package/dist/server/middleware/withDb.js +7 -0
- package/dist/server/middleware/withDb.js.map +1 -0
- package/dist/server/routes/assets.d.ts +4 -0
- package/dist/server/routes/assets.d.ts.map +1 -0
- package/dist/server/routes/assets.js +178 -0
- package/dist/server/routes/assets.js.map +1 -0
- package/dist/server/routes/documents.d.ts +4 -0
- package/dist/server/routes/documents.d.ts.map +1 -0
- package/dist/server/routes/documents.js +40 -0
- package/dist/server/routes/documents.js.map +1 -0
- package/dist/server/routes/edit.d.ts +22 -0
- package/dist/server/routes/edit.d.ts.map +1 -0
- package/dist/server/routes/edit.js +494 -0
- package/dist/server/routes/edit.js.map +1 -0
- package/dist/server/routes/git.d.ts +4 -0
- package/dist/server/routes/git.d.ts.map +1 -0
- package/dist/server/routes/git.js +612 -0
- package/dist/server/routes/git.js.map +1 -0
- package/dist/server/routes/readUpload.d.ts +4 -0
- package/dist/server/routes/readUpload.d.ts.map +1 -0
- package/dist/server/routes/readUpload.js +57 -0
- package/dist/server/routes/readUpload.js.map +1 -0
- package/dist/server/utils/NotFoundError.d.ts +9 -0
- package/dist/server/utils/NotFoundError.d.ts.map +1 -0
- package/dist/server/utils/NotFoundError.js +16 -0
- package/dist/server/utils/NotFoundError.js.map +1 -0
- package/dist/server/utils/editor.css +1535 -0
- package/dist/server/utils/htmlEditorPage.d.ts +6 -0
- package/dist/server/utils/htmlEditorPage.d.ts.map +1 -0
- package/dist/server/utils/htmlEditorPage.js +518 -0
- package/dist/server/utils/htmlEditorPage.js.map +1 -0
- package/dist/server/utils/htmlLoginPage.d.ts +6 -0
- package/dist/server/utils/htmlLoginPage.d.ts.map +1 -0
- package/dist/server/utils/htmlLoginPage.js +134 -0
- package/dist/server/utils/htmlLoginPage.js.map +1 -0
- package/dist/server/utils/layout.css +153 -0
- package/dist/server/utils/types.d.ts +18 -0
- package/dist/server/utils/types.d.ts.map +1 -0
- package/dist/server/utils/types.js +2 -0
- package/dist/server/utils/types.js.map +1 -0
- package/dist/server-bin/index.d.ts +2 -0
- package/dist/server-bin/index.d.ts.map +1 -0
- package/dist/server-bin/index.js +26 -0
- package/dist/server-bin/index.js.map +1 -0
- package/dist/utils/functionContext.d.ts +12 -0
- package/dist/utils/functionContext.d.ts.map +1 -0
- package/dist/utils/functionContext.js +19 -0
- package/dist/utils/functionContext.js.map +1 -0
- package/dist/utils/functionContextClient.d.ts +23 -0
- package/dist/utils/functionContextClient.d.ts.map +1 -0
- package/dist/utils/functionContextClient.js +93 -0
- package/dist/utils/functionContextClient.js.map +1 -0
- package/dist/utils/stringifyData.d.ts +2 -0
- package/dist/utils/stringifyData.d.ts.map +1 -0
- package/dist/utils/stringifyData.js +23 -0
- package/dist/utils/stringifyData.js.map +1 -0
- package/dist/utils/stripImageExif.d.ts +14 -0
- package/dist/utils/stripImageExif.d.ts.map +1 -0
- package/dist/utils/stripImageExif.js +112 -0
- package/dist/utils/stripImageExif.js.map +1 -0
- package/dist/utils/types.d.ts +81 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +2 -0
- package/dist/utils/types.js.map +1 -0
- package/migrations/1770796673000_initial-schema.js +178 -0
- package/package.json +97 -0
- package/pages/skywriter/.github/copilot-instructions.md +94 -0
- package/pages/skywriter/content.md +862 -0
- package/pages/skywriter/data.json +1 -0
- package/pages/skywriter/doc.code-workspace +15 -0
- package/pages/skywriter/script.js +1 -0
- package/pages/skywriter/server.js +1 -0
- package/pages/skywriter/settings.json +11 -0
- package/pages/skywriter/style.css +167 -0
- package/pages/skywriter/template/content.eta +55 -0
- package/pages/skywriter/template/data.json +1 -0
- package/pages/skywriter/template/script.js +512 -0
- package/pages/skywriter/template/server.js +27 -0
- package/pages/skywriter/template/settings.json +11 -0
- package/pages/skywriter/template/style.css +447 -0
|
@@ -0,0 +1,1373 @@
|
|
|
1
|
+
"use strict";(()=>{var Rt=Object.create;var Re=Object.defineProperty;var It=Object.getOwnPropertyDescriptor;var Dt=Object.getOwnPropertyNames;var Ot=Object.getPrototypeOf,Ft=Object.prototype.hasOwnProperty;var Nt=(g,y,R)=>y in g?Re(g,y,{enumerable:!0,configurable:!0,writable:!0,value:R}):g[y]=R;var re=(g,y)=>()=>(y||g((y={exports:{}}).exports,y),y.exports);var Bt=(g,y,R,$)=>{if(y&&typeof y=="object"||typeof y=="function")for(let w of Dt(y))!Ft.call(g,w)&&w!==R&&Re(g,w,{get:()=>y[w],enumerable:!($=It(y,w))||$.enumerable});return g};var oe=(g,y,R)=>(R=g!=null?Rt(Ot(g)):{},Bt(y||!g||!g.__esModule?Re(R,"default",{value:g,enumerable:!0}):R,g));var He=(g,y,R)=>Nt(g,typeof y!="symbol"?y+"":y,R);var Pe=re((ze,fe)=>{(function(){var g="ace",y=function(){return this}();if(!y&&typeof window<"u"&&(y=window),!g&&typeof requirejs<"u")return;var R=function(o,i,n){if(typeof o!="string"){R.original?R.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(n=i),R.modules[o]||(R.payloads[o]=n,R.modules[o]=null)};R.modules={},R.payloads={};var $=function(o,i,n){if(typeof i=="string"){var t=s(o,i);if(t!=null)return n&&n(),t}else if(Object.prototype.toString.call(i)==="[object Array]"){for(var e=[],r=0,l=i.length;r<l;++r){var c=s(o,i[r]);if(c==null&&w.original)return;e.push(c)}return n&&n.apply(null,e)||!0}},w=function(o,i){var n=$("",o,i);return n==null&&w.original?w.original.apply(this,arguments):n},d=function(o,i){if(i.indexOf("!")!==-1){var n=i.split("!");return d(o,n[0])+"!"+d(o,n[1])}if(i.charAt(0)=="."){var t=o.split("/").slice(0,-1).join("/");for(i=t+"/"+i;i.indexOf(".")!==-1&&e!=i;){var e=i;i=i.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return i},s=function(o,i){i=d(o,i);var n=R.modules[i];if(!n){if(n=R.payloads[i],typeof n=="function"){var t={},e={id:i,uri:"",exports:t,packaged:!0},r=function(c,u){return $(i,c,u)},l=n(r,t,e);t=l||e.exports,R.modules[i]=t,delete R.payloads[i]}n=R.modules[i]=t||n}return n};function a(o){var i=y;o&&(y[o]||(y[o]={}),i=y[o]),(!i.define||!i.define.packaged)&&(R.original=i.define,i.define=R,i.define.packaged=!0),(!i.require||!i.require.packaged)&&(w.original=i.require,i.require=w,i.require.packaged=!0)}a(g)})();ace.define("ace/lib/es6-shim",["require","exports","module"],function(g,y,R){function $(w,d,s){Object.defineProperty(w,d,{value:s,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||$(String.prototype,"startsWith",function(w,d){return d=d||0,this.lastIndexOf(w,d)===d}),String.prototype.endsWith||$(String.prototype,"endsWith",function(w,d){var s=this;(d===void 0||d>s.length)&&(d=s.length),d-=w.length;var a=s.indexOf(w,d);return a!==-1&&a===d}),String.prototype.repeat||$(String.prototype,"repeat",function(w){for(var d="",s=this;w>0;)w&1&&(d+=s),(w>>=1)&&(s+=s);return d}),String.prototype.includes||$(String.prototype,"includes",function(w,d){return this.indexOf(w,d)!=-1}),Object.assign||(Object.assign=function(w){if(w==null)throw new TypeError("Cannot convert undefined or null to object");for(var d=Object(w),s=1;s<arguments.length;s++){var a=arguments[s];a!=null&&Object.keys(a).forEach(function(o){d[o]=a[o]})}return d}),Object.values||(Object.values=function(w){return Object.keys(w).map(function(d){return w[d]})}),Array.prototype.find||$(Array.prototype,"find",function(w){for(var d=this.length,s=arguments[1],a=0;a<d;a++){var o=this[a];if(w.call(s,o,a,this))return o}}),Array.prototype.findIndex||$(Array.prototype,"findIndex",function(w){for(var d=this.length,s=arguments[1],a=0;a<d;a++){var o=this[a];if(w.call(s,o,a,this))return a}}),Array.prototype.includes||$(Array.prototype,"includes",function(w,d){return this.indexOf(w,d)!=-1}),Array.prototype.fill||$(Array.prototype,"fill",function(w){for(var d=this,s=d.length>>>0,a=arguments[1],o=a>>0,i=o<0?Math.max(s+o,0):Math.min(o,s),n=arguments[2],t=n===void 0?s:n>>0,e=t<0?Math.max(s+t,0):Math.min(t,s);i<e;)d[i]=w,i++;return d}),Array.of||$(Array,"of",function(){return Array.prototype.slice.call(arguments)})});ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(g,y,R){"use strict";g("./es6-shim")});ace.define("ace/lib/deep_copy",["require","exports","module"],function(g,y,R){y.deepCopy=function $(w){if(typeof w!="object"||!w)return w;var d;if(Array.isArray(w)){d=[];for(var s=0;s<w.length;s++)d[s]=$(w[s]);return d}if(Object.prototype.toString.call(w)!=="[object Object]")return w;d={};for(var s in w)d[s]=$(w[s]);return d}});ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(g,y,R){"use strict";y.last=function(d){return d[d.length-1]},y.stringReverse=function(d){return d.split("").reverse().join("")},y.stringRepeat=function(d,s){for(var a="";s>0;)s&1&&(a+=d),(s>>=1)&&(d+=d);return a};var $=/^\s\s*/,w=/\s\s*$/;y.stringTrimLeft=function(d){return d.replace($,"")},y.stringTrimRight=function(d){return d.replace(w,"")},y.copyObject=function(d){var s={};for(var a in d)s[a]=d[a];return s},y.copyArray=function(d){for(var s=[],a=0,o=d.length;a<o;a++)d[a]&&typeof d[a]=="object"?s[a]=this.copyObject(d[a]):s[a]=d[a];return s},y.deepCopy=g("./deep_copy").deepCopy,y.arrayToMap=function(d){for(var s={},a=0;a<d.length;a++)s[d[a]]=1;return s},y.createMap=function(d){var s=Object.create(null);for(var a in d)s[a]=d[a];return s},y.arrayRemove=function(d,s){for(var a=0;a<=d.length;a++)s===d[a]&&d.splice(a,1)},y.escapeRegExp=function(d){return d.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},y.escapeHTML=function(d){return(""+d).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},y.getMatchOffsets=function(d,s){var a=[];return d.replace(s,function(o){a.push({offset:arguments[arguments.length-2],length:o.length})}),a},y.deferredCall=function(d){var s=null,a=function(){s=null,d()},o=function(i){return o.cancel(),s=setTimeout(a,i||0),o};return o.schedule=o,o.call=function(){return this.cancel(),d(),o},o.cancel=function(){return clearTimeout(s),s=null,o},o.isPending=function(){return s},o},y.delayedCall=function(d,s){var a=null,o=function(){a=null,d()},i=function(n){a==null&&(a=setTimeout(o,n||s))};return i.delay=function(n){a&&clearTimeout(a),a=setTimeout(o,n||s)},i.schedule=i,i.call=function(){this.cancel(),d()},i.cancel=function(){a&&clearTimeout(a),a=null},i.isPending=function(){return a},i},y.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},y.skipEmptyMatch=function(d,s,a){return a&&d.codePointAt(s)>65535?2:1}});ace.define("ace/lib/useragent",["require","exports","module"],function(g,y,R){"use strict";y.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},y.getOS=function(){return y.isMac?y.OS.MAC:y.isLinux?y.OS.LINUX:y.OS.WINDOWS};var $=typeof navigator=="object"?navigator:{},w=(/mac|win|linux/i.exec($.platform)||["other"])[0].toLowerCase(),d=$.userAgent||"",s=$.appName||"";y.isWin=w=="win",y.isMac=w=="mac",y.isLinux=w=="linux",y.isIE=s=="Microsoft Internet Explorer"||s.indexOf("MSAppHost")>=0?parseFloat((d.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((d.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),y.isOldIE=y.isIE&&y.isIE<9,y.isGecko=y.isMozilla=d.match(/ Gecko\/\d+/),y.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",y.isWebKit=parseFloat(d.split("WebKit/")[1])||void 0,y.isChrome=parseFloat(d.split(" Chrome/")[1])||void 0,y.isSafari=parseFloat(d.split(" Safari/")[1])&&!y.isChrome||void 0,y.isEdge=parseFloat(d.split(" Edge/")[1])||void 0,y.isAIR=d.indexOf("AdobeAIR")>=0,y.isAndroid=d.indexOf("Android")>=0,y.isChromeOS=d.indexOf(" CrOS ")>=0,y.isIOS=/iPad|iPhone|iPod/.test(d)&&!window.MSStream,y.isIOS&&(y.isMac=!0),y.isMobile=y.isIOS||y.isAndroid});ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(g,y,R){"use strict";var $=g("./useragent"),w="http://www.w3.org/1999/xhtml";y.buildDom=function n(t,e,r){if(typeof t=="string"&&t){var l=document.createTextNode(t);return e&&e.appendChild(l),l}if(!Array.isArray(t))return t&&t.appendChild&&e&&e.appendChild(t),t;if(typeof t[0]!="string"||!t[0]){for(var c=[],u=0;u<t.length;u++){var f=n(t[u],e,r);f&&c.push(f)}return c}var p=document.createElement(t[0]),b=t[1],k=1;b&&typeof b=="object"&&!Array.isArray(b)&&(k=2);for(var u=k;u<t.length;u++)n(t[u],p,r);return k==2&&Object.keys(b).forEach(function(v){var A=b[v];v==="class"?p.className=Array.isArray(A)?A.join(" "):A:typeof A=="function"||v=="value"||v[0]=="$"?p[v]=A:v==="ref"?r&&(r[A]=p):v==="style"?typeof A=="string"&&(p.style.cssText=A):A!=null&&p.setAttribute(v,A)}),e&&e.appendChild(p),p},y.getDocumentHead=function(n){return n||(n=document),n.head||n.getElementsByTagName("head")[0]||n.documentElement},y.createElement=function(n,t){return document.createElementNS?document.createElementNS(t||w,n):document.createElement(n)},y.removeChildren=function(n){n.innerHTML=""},y.createTextNode=function(n,t){var e=t?t.ownerDocument:document;return e.createTextNode(n)},y.createFragment=function(n){var t=n?n.ownerDocument:document;return t.createDocumentFragment()},y.hasCssClass=function(n,t){var e=(n.className+"").split(/\s+/g);return e.indexOf(t)!==-1},y.addCssClass=function(n,t){y.hasCssClass(n,t)||(n.className+=" "+t)},y.removeCssClass=function(n,t){for(var e=n.className.split(/\s+/g);;){var r=e.indexOf(t);if(r==-1)break;e.splice(r,1)}n.className=e.join(" ")},y.toggleCssClass=function(n,t){for(var e=n.className.split(/\s+/g),r=!0;;){var l=e.indexOf(t);if(l==-1)break;r=!1,e.splice(l,1)}return r&&e.push(t),n.className=e.join(" "),r},y.setCssClass=function(n,t,e){e?y.addCssClass(n,t):y.removeCssClass(n,t)},y.hasCssString=function(n,t){var e=0,r;if(t=t||document,r=t.querySelectorAll("style")){for(;e<r.length;)if(r[e++].id===n)return!0}},y.removeElementById=function(n,t){t=t||document,t.getElementById(n)&&t.getElementById(n).remove()};var d,s=[];y.useStrictCSP=function(n){d=n,n==!1?a():s||(s=[])};function a(){var n=s;s=null,n&&n.forEach(function(t){o(t[0],t[1])})}function o(n,t,e){if(!(typeof document>"u")){if(s){if(e)a();else if(e===!1)return s.push([n,t])}if(!d){var r=e;!e||!e.getRootNode?r=document:(r=e.getRootNode(),(!r||r==e)&&(r=document));var l=r.ownerDocument||r;if(t&&y.hasCssString(t,r))return null;t&&(n+=`
|
|
2
|
+
/*# sourceURL=ace/css/`+t+" */");var c=y.createElement("style");c.appendChild(l.createTextNode(n)),t&&(c.id=t),r==l&&(r=y.getDocumentHead(l)),r.insertBefore(c,r.firstChild)}}}if(y.importCssString=o,y.importCssStylsheet=function(n,t){y.buildDom(["link",{rel:"stylesheet",href:n}],y.getDocumentHead(t))},y.$fixPositionBug=function(n){var t=n.getBoundingClientRect();if(n.style.left){var e=parseFloat(n.style.left),r=+t.left;Math.abs(e-r)>1&&(n.style.left=2*e-r+"px")}if(n.style.right){var e=parseFloat(n.style.right),r=window.innerWidth-t.right;Math.abs(e-r)>1&&(n.style.right=2*e-r+"px")}if(n.style.top){var e=parseFloat(n.style.top),r=+t.top;Math.abs(e-r)>1&&(n.style.top=2*e-r+"px")}if(n.style.bottom){var e=parseFloat(n.style.bottom),r=window.innerHeight-t.bottom;Math.abs(e-r)>1&&(n.style.bottom=2*e-r+"px")}},y.scrollbarWidth=function(n){var t=y.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var e=y.createElement("ace_outer"),r=e.style;r.position="absolute",r.left="-10000px",r.overflow="hidden",r.width="200px",r.minWidth="0px",r.height="150px",r.display="block",e.appendChild(t);var l=n&&n.documentElement||document&&document.documentElement;if(!l)return 0;l.appendChild(e);var c=t.offsetWidth;r.overflow="scroll";var u=t.offsetWidth;return c===u&&(u=e.clientWidth),l.removeChild(e),c-u},y.computedStyle=function(n,t){return window.getComputedStyle(n,"")||{}},y.setStyle=function(n,t,e){n[t]!==e&&(n[t]=e)},y.HAS_CSS_ANIMATION=!1,y.HAS_CSS_TRANSFORMS=!1,y.HI_DPI=$.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,$.isChromeOS&&(y.HI_DPI=!1),typeof document<"u"){var i=document.createElement("div");y.HI_DPI&&i.style.transform!==void 0&&(y.HAS_CSS_TRANSFORMS=!0),!$.isEdge&&typeof i.style.animationName<"u"&&(y.HAS_CSS_ANIMATION=!0),i=null}y.HAS_CSS_TRANSFORMS?y.translate=function(n,t,e){n.style.transform="translate("+Math.round(t)+"px, "+Math.round(e)+"px)"}:y.translate=function(n,t,e){n.style.top=Math.round(e)+"px",n.style.left=Math.round(t)+"px"}});ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(g,y,R){"use strict";var $=g("./dom");y.get=function(w,d){var s=new XMLHttpRequest;s.open("GET",w,!0),s.onreadystatechange=function(){s.readyState===4&&d(s.responseText)},s.send(null)},y.loadScript=function(w,d){var s=$.getDocumentHead(),a=document.createElement("script");a.src=w,s.appendChild(a),a.onload=a.onreadystatechange=function(o,i){(i||!a.readyState||a.readyState=="loaded"||a.readyState=="complete")&&(a=a.onload=a.onreadystatechange=null,i||d())}},y.qualifyURL=function(w){var d=document.createElement("a");return d.href=w,d.href}});ace.define("ace/lib/oop",["require","exports","module"],function(g,y,R){"use strict";y.inherits=function($,w){$.super_=w,$.prototype=Object.create(w.prototype,{constructor:{value:$,enumerable:!1,writable:!0,configurable:!0}})},y.mixin=function($,w){for(var d in w)$[d]=w[d];return $},y.implement=function($,w){y.mixin($,w)}});ace.define("ace/lib/event_emitter",["require","exports","module"],function(g,y,R){"use strict";var $={},w=function(){this.propagationStopped=!0},d=function(){this.defaultPrevented=!0};$._emit=$._dispatchEvent=function(s,a){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var o=this._eventRegistry[s]||[],i=this._defaultHandlers[s];if(!(!o.length&&!i)){(typeof a!="object"||!a)&&(a={}),a.type||(a.type=s),a.stopPropagation||(a.stopPropagation=w),a.preventDefault||(a.preventDefault=d),o=o.slice();for(var n=0;n<o.length&&(o[n](a,this),!a.propagationStopped);n++);if(i&&!a.defaultPrevented)return i(a,this)}},$._signal=function(s,a){var o=(this._eventRegistry||{})[s];if(o){o=o.slice();for(var i=0;i<o.length;i++)o[i](a,this)}},$.once=function(s,a){var o=this;if(this.on(s,function i(){o.off(s,i),a.apply(null,arguments)}),!a)return new Promise(function(i){a=i})},$.setDefaultHandler=function(s,a){var o=this._defaultHandlers;if(o||(o=this._defaultHandlers={_disabled_:{}}),o[s]){var i=o[s],n=o._disabled_[s];n||(o._disabled_[s]=n=[]),n.push(i);var t=n.indexOf(a);t!=-1&&n.splice(t,1)}o[s]=a},$.removeDefaultHandler=function(s,a){var o=this._defaultHandlers;if(o){var i=o._disabled_[s];if(o[s]==a)i&&this.setDefaultHandler(s,i.pop());else if(i){var n=i.indexOf(a);n!=-1&&i.splice(n,1)}}},$.on=$.addEventListener=function(s,a,o){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[s];return i||(i=this._eventRegistry[s]=[]),i.indexOf(a)==-1&&i[o?"unshift":"push"](a),a},$.off=$.removeListener=$.removeEventListener=function(s,a){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[s];if(o){var i=o.indexOf(a);i!==-1&&o.splice(i,1)}},$.removeAllListeners=function(s){s||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[s]=void 0),this._defaultHandlers&&(this._defaultHandlers[s]=void 0)},y.EventEmitter=$});ace.define("ace/lib/report_error",["require","exports","module"],function(g,y,R){y.reportError=function(w,d){var s=new Error(w);s.data=d,typeof console=="object"&&console.error&&console.error(s),setTimeout(function(){throw s})}});ace.define("ace/lib/default_english_messages",["require","exports","module"],function(g,y,R){var $={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"};y.defaultEnglishMessages=$});ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(g,y,R){"no use strict";var $=g("./oop"),w=g("./event_emitter").EventEmitter,d=g("./report_error").reportError,s=g("./default_english_messages").defaultEnglishMessages,a={setOptions:function(e){Object.keys(e).forEach(function(r){this.setOption(r,e[r])},this)},getOptions:function(e){var r={};if(e)Array.isArray(e)||(e=Object.keys(e));else{var l=this.$options;e=Object.keys(l).filter(function(c){return!l[c].hidden})}return e.forEach(function(c){r[c]=this.getOption(c)},this),r},setOption:function(e,r){if(this["$"+e]!==r){var l=this.$options[e];if(!l)return o('misspelled option "'+e+'"');if(l.forwardTo)return this[l.forwardTo]&&this[l.forwardTo].setOption(e,r);l.handlesSet||(this["$"+e]=r),l&&l.set&&l.set.call(this,r)}},getOption:function(e){var r=this.$options[e];return r?r.forwardTo?this[r.forwardTo]&&this[r.forwardTo].getOption(e):r&&r.get?r.get.call(this):this["$"+e]:o('misspelled option "'+e+'"')}};function o(e){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var i,n,t=function(){function e(){this.$defaultOptions={},i=s,n="dollarSigns"}return e.prototype.defineOptions=function(r,l,c){return r.$options||(this.$defaultOptions[l]=r.$options={}),Object.keys(c).forEach(function(u){var f=c[u];typeof f=="string"&&(f={forwardTo:f}),f.name||(f.name=u),r.$options[f.name]=f,"initialValue"in f&&(r["$"+f.name]=f.initialValue)}),$.implement(r,a),this},e.prototype.resetOptions=function(r){Object.keys(r.$options).forEach(function(l){var c=r.$options[l];"value"in c&&r.setOption(l,c.value)})},e.prototype.setDefaultValue=function(r,l,c){if(!r){for(r in this.$defaultOptions)if(this.$defaultOptions[r][l])break;if(!this.$defaultOptions[r][l])return!1}var u=this.$defaultOptions[r]||(this.$defaultOptions[r]={});u[l]&&(u.forwardTo?this.setDefaultValue(u.forwardTo,l,c):u[l].value=c)},e.prototype.setDefaultValues=function(r,l){Object.keys(l).forEach(function(c){this.setDefaultValue(r,c,l[c])},this)},e.prototype.setMessages=function(r,l){i=r,l&&l.placeholders&&(n=l.placeholders)},e.prototype.nls=function(r,l,c){i[r]||(o("No message found for the key '"+r+"' in messages with id "+i.$id+", trying to find a translation for the default string '"+l+"'."),i[l]||o("No message found for the default string '"+l+"' in the provided messages. Falling back to the default English message."));var u=i[r]||i[l]||l;return c&&(n==="dollarSigns"&&(u=u.replace(/\$(\$|[\d]+)/g,function(f,p){return p=="$"?"$":c[p]})),n==="curlyBrackets"&&(u=u.replace(/\{([^\}]+)\}/g,function(f,p){return c[p]}))),u},e}();t.prototype.warn=o,t.prototype.reportError=d,$.implement(t.prototype,w),y.AppConfig=t});ace.define("ace/theme/textmate-css",["require","exports","module"],function(g,y,R){R.exports=`.ace-tm .ace_gutter {
|
|
3
|
+
background: #f0f0f0;
|
|
4
|
+
color: #333;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.ace-tm .ace_print-margin {
|
|
8
|
+
width: 1px;
|
|
9
|
+
background: #e8e8e8;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.ace-tm .ace_fold {
|
|
13
|
+
background-color: #6B72E6;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ace-tm {
|
|
17
|
+
background-color: #FFFFFF;
|
|
18
|
+
color: black;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.ace-tm .ace_cursor {
|
|
22
|
+
color: black;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.ace-tm .ace_invisible {
|
|
26
|
+
color: rgb(191, 191, 191);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.ace-tm .ace_storage,
|
|
30
|
+
.ace-tm .ace_keyword {
|
|
31
|
+
color: blue;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ace-tm .ace_constant {
|
|
35
|
+
color: rgb(197, 6, 11);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ace-tm .ace_constant.ace_buildin {
|
|
39
|
+
color: rgb(88, 72, 246);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.ace-tm .ace_constant.ace_language {
|
|
43
|
+
color: rgb(88, 92, 246);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.ace-tm .ace_constant.ace_library {
|
|
47
|
+
color: rgb(6, 150, 14);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.ace-tm .ace_invalid {
|
|
51
|
+
background-color: rgba(255, 0, 0, 0.1);
|
|
52
|
+
color: red;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.ace-tm .ace_support.ace_function {
|
|
56
|
+
color: rgb(60, 76, 114);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.ace-tm .ace_support.ace_constant {
|
|
60
|
+
color: rgb(6, 150, 14);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.ace-tm .ace_support.ace_type,
|
|
64
|
+
.ace-tm .ace_support.ace_class {
|
|
65
|
+
color: rgb(109, 121, 222);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.ace-tm .ace_keyword.ace_operator {
|
|
69
|
+
color: rgb(104, 118, 135);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.ace-tm .ace_string {
|
|
73
|
+
color: rgb(3, 106, 7);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.ace-tm .ace_comment {
|
|
77
|
+
color: rgb(76, 136, 107);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.ace-tm .ace_comment.ace_doc {
|
|
81
|
+
color: rgb(0, 102, 255);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.ace-tm .ace_comment.ace_doc.ace_tag {
|
|
85
|
+
color: rgb(128, 159, 191);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.ace-tm .ace_constant.ace_numeric {
|
|
89
|
+
color: rgb(0, 0, 205);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.ace-tm .ace_variable {
|
|
93
|
+
color: rgb(49, 132, 149);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.ace-tm .ace_xml-pe {
|
|
97
|
+
color: rgb(104, 104, 91);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.ace-tm .ace_entity.ace_name.ace_function {
|
|
101
|
+
color: #0000A2;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
.ace-tm .ace_heading {
|
|
106
|
+
color: rgb(12, 7, 255);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.ace-tm .ace_list {
|
|
110
|
+
color:rgb(185, 6, 144);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.ace-tm .ace_meta.ace_tag {
|
|
114
|
+
color:rgb(0, 22, 142);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.ace-tm .ace_string.ace_regex {
|
|
118
|
+
color: rgb(255, 0, 0)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.ace-tm .ace_marker-layer .ace_selection {
|
|
122
|
+
background: rgb(181, 213, 255);
|
|
123
|
+
}
|
|
124
|
+
.ace-tm.ace_multiselect .ace_selection.ace_start {
|
|
125
|
+
box-shadow: 0 0 3px 0px white;
|
|
126
|
+
}
|
|
127
|
+
.ace-tm .ace_marker-layer .ace_step {
|
|
128
|
+
background: rgb(252, 255, 0);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.ace-tm .ace_marker-layer .ace_stack {
|
|
132
|
+
background: rgb(164, 229, 101);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.ace-tm .ace_marker-layer .ace_bracket {
|
|
136
|
+
margin: -1px 0 0 -1px;
|
|
137
|
+
border: 1px solid rgb(192, 192, 192);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.ace-tm .ace_marker-layer .ace_active-line {
|
|
141
|
+
background: rgba(0, 0, 0, 0.07);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.ace-tm .ace_gutter-active-line {
|
|
145
|
+
background-color : #dcdcdc;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.ace-tm .ace_marker-layer .ace_selected-word {
|
|
149
|
+
background: rgb(250, 250, 255);
|
|
150
|
+
border: 1px solid rgb(200, 200, 250);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.ace-tm .ace_indent-guide {
|
|
154
|
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.ace-tm .ace_indent-guide-active {
|
|
158
|
+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
|
|
159
|
+
}
|
|
160
|
+
`});ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(g,y,R){"use strict";y.isDark=!1,y.cssClass="ace-tm",y.cssText=g("./textmate-css"),y.$id="ace/theme/textmate";var $=g("../lib/dom");$.importCssString(y.cssText,y.cssClass,!1)});ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(g,y,R){"no use strict";var $=g("./lib/lang"),w=g("./lib/net"),d=g("./lib/dom"),s=g("./lib/app_config").AppConfig;R.exports=y=new s;var a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};y.get=function(t){if(!a.hasOwnProperty(t))throw new Error("Unknown config key: "+t);return a[t]},y.set=function(t,e){if(a.hasOwnProperty(t))a[t]=e;else if(this.setDefaultValue("",t,e)==!1)throw new Error("Unknown config key: "+t);t=="useStrictCSP"&&d.useStrictCSP(e)},y.all=function(){return $.copyObject(a)},y.$modes={},y.moduleUrl=function(t,e){if(a.$moduleUrls[t])return a.$moduleUrls[t];var r=t.split("/");e=e||r[r.length-2]||"";var l=e=="snippets"?"/":"-",c=r[r.length-1];if(e=="worker"&&l=="-"){var u=new RegExp("^"+e+"[\\-_]|[\\-_]"+e+"$","g");c=c.replace(u,"")}(!c||c==e)&&r.length>1&&(c=r[r.length-2]);var f=a[e+"Path"];return f==null?f=a.basePath:l=="/"&&(e=l=""),f&&f.slice(-1)!="/"&&(f+="/"),f+e+l+c+this.get("suffix")},y.setModuleUrl=function(t,e){return a.$moduleUrls[t]=e};var o=function(t,e){if(t==="ace/theme/textmate"||t==="./theme/textmate")return e(null,g("./theme/textmate"));if(i)return i(t,e);console.error("loader is not configured")},i;y.setLoader=function(t){i=t},y.dynamicModules=Object.create(null),y.$loading={},y.$loaded={},y.loadModule=function(t,e){var r;if(Array.isArray(t))var l=t[0],c=t[1];else if(typeof t=="string")var c=t;var u=function(f){if(f&&!y.$loading[c])return e&&e(f);if(y.$loading[c]||(y.$loading[c]=[]),y.$loading[c].push(e),!(y.$loading[c].length>1)){var p=function(){o(c,function(b,k){k&&(y.$loaded[c]=k),y._emit("load.module",{name:c,module:k});var v=y.$loading[c];y.$loading[c]=null,v.forEach(function(A){A&&A(k)})})};if(!y.get("packaged"))return p();w.loadScript(y.moduleUrl(c,l),p),n()}};if(y.dynamicModules[c])y.dynamicModules[c]().then(function(f){f.default?u(f.default):u(f)});else{try{r=this.$require(c)}catch{}u(r||y.$loaded[c])}},y.$require=function(t){if(typeof R.require=="function"){var e="require";return R[e](t)}},y.setModuleLoader=function(t,e){y.dynamicModules[t]=e};var n=function(){!a.basePath&&!a.workerPath&&!a.modePath&&!a.themePath&&!Object.keys(a.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),n=function(){})};y.version="1.43.5"});ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(g,y,R){"use strict";g("./lib/fixoldbrowsers");var $=g("./config");$.setLoader(function(a,o){g([a],function(i){o(null,i)})});var w=function(){return this||typeof window<"u"&&window}();R.exports=function(a){$.init=d,$.$require=g,a.require=g,typeof define=="function"&&(a.define=define)},d(!0);function d(a){if(!(!w||!w.document)){$.set("packaged",a||g.packaged||R.packaged||w.define&&define.packaged);var o={},i="",n=document.currentScript||document._currentScript,t=n&&n.ownerDocument||document;n&&n.src&&(i=n.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var e=t.getElementsByTagName("script"),r=0;r<e.length;r++){var l=e[r],c=l.src||l.getAttribute("src");if(c){for(var u=l.attributes,f=0,p=u.length;f<p;f++){var b=u[f];b.name.indexOf("data-ace-")===0&&(o[s(b.name.replace(/^data-ace-/,""))]=b.value)}var k=c.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);k&&(i=k[1])}}i&&(o.base=o.base||i,o.packaged=!0),o.basePath=o.base,o.workerPath=o.workerPath||o.base,o.modePath=o.modePath||o.base,o.themePath=o.themePath||o.base,delete o.base;for(var v in o)typeof o[v]<"u"&&$.set(v,o[v])}}function s(a){return a.replace(/-(.)/g,function(o,i){return i.toUpperCase()})}});ace.define("ace/range",["require","exports","module"],function(g,y,R){"use strict";var $=function(){function w(d,s,a,o){this.start={row:d,column:s},this.end={row:a,column:o}}return w.prototype.isEqual=function(d){return this.start.row===d.start.row&&this.end.row===d.end.row&&this.start.column===d.start.column&&this.end.column===d.end.column},w.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},w.prototype.contains=function(d,s){return this.compare(d,s)==0},w.prototype.compareRange=function(d){var s,a=d.end,o=d.start;return s=this.compare(a.row,a.column),s==1?(s=this.compare(o.row,o.column),s==1?2:s==0?1:0):s==-1?-2:(s=this.compare(o.row,o.column),s==-1?-1:s==1?42:0)},w.prototype.comparePoint=function(d){return this.compare(d.row,d.column)},w.prototype.containsRange=function(d){return this.comparePoint(d.start)==0&&this.comparePoint(d.end)==0},w.prototype.intersects=function(d){var s=this.compareRange(d);return s==-1||s==0||s==1},w.prototype.isEnd=function(d,s){return this.end.row==d&&this.end.column==s},w.prototype.isStart=function(d,s){return this.start.row==d&&this.start.column==s},w.prototype.setStart=function(d,s){typeof d=="object"?(this.start.column=d.column,this.start.row=d.row):(this.start.row=d,this.start.column=s)},w.prototype.setEnd=function(d,s){typeof d=="object"?(this.end.column=d.column,this.end.row=d.row):(this.end.row=d,this.end.column=s)},w.prototype.inside=function(d,s){return this.compare(d,s)==0?!(this.isEnd(d,s)||this.isStart(d,s)):!1},w.prototype.insideStart=function(d,s){return this.compare(d,s)==0?!this.isEnd(d,s):!1},w.prototype.insideEnd=function(d,s){return this.compare(d,s)==0?!this.isStart(d,s):!1},w.prototype.compare=function(d,s){return!this.isMultiLine()&&d===this.start.row?s<this.start.column?-1:s>this.end.column?1:0:d<this.start.row?-1:d>this.end.row?1:this.start.row===d?s>=this.start.column?0:-1:this.end.row===d?s<=this.end.column?0:1:0},w.prototype.compareStart=function(d,s){return this.start.row==d&&this.start.column==s?-1:this.compare(d,s)},w.prototype.compareEnd=function(d,s){return this.end.row==d&&this.end.column==s?1:this.compare(d,s)},w.prototype.compareInside=function(d,s){return this.end.row==d&&this.end.column==s?1:this.start.row==d&&this.start.column==s?-1:this.compare(d,s)},w.prototype.clipRows=function(d,s){if(this.end.row>s)var a={row:s+1,column:0};else if(this.end.row<d)var a={row:d,column:0};if(this.start.row>s)var o={row:s+1,column:0};else if(this.start.row<d)var o={row:d,column:0};return w.fromPoints(o||this.start,a||this.end)},w.prototype.extend=function(d,s){var a=this.compare(d,s);if(a==0)return this;if(a==-1)var o={row:d,column:s};else var i={row:d,column:s};return w.fromPoints(o||this.start,i||this.end)},w.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},w.prototype.isMultiLine=function(){return this.start.row!==this.end.row},w.prototype.clone=function(){return w.fromPoints(this.start,this.end)},w.prototype.collapseRows=function(){return this.end.column==0?new w(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new w(this.start.row,0,this.end.row,0)},w.prototype.toScreenRange=function(d){var s=d.documentToScreenPosition(this.start),a=d.documentToScreenPosition(this.end);return new w(s.row,s.column,a.row,a.column)},w.prototype.moveBy=function(d,s){this.start.row+=d,this.start.column+=s,this.end.row+=d,this.end.column+=s},w}();$.fromPoints=function(w,d){return new $(w.row,w.column,d.row,d.column)},$.comparePoints=function(w,d){return w.row-d.row||w.column-d.column},y.Range=$});ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(g,y,R){"use strict";for(var $=g("./oop"),w={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},d={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},s=0;s<10;s++)d["Digit"+s]=48+s,d["Numpad"+s]=96+s,w.PRINTABLE_KEYS[48+s]=""+s,w.FUNCTION_KEYS[96+s]="Numpad"+s;for(var s=65;s<91;s++){var a=String.fromCharCode(s+32);d["Key"+a.toUpperCase()]=s,w.PRINTABLE_KEYS[s]=a}for(var s=1;s<13;s++)d["F"+s]=111+s,w.FUNCTION_KEYS[111+s]="F"+s;var o={Shift:16,Control:17,Alt:18,Meta:224};for(var i in o)d[i]=d[i+"Left"]=d[i+"Right"]=o[i];y.$codeToKeyCode=d,w.PRINTABLE_KEYS[173]="-";for(var n in w.FUNCTION_KEYS){var t=w.FUNCTION_KEYS[n].toLowerCase();w[t]=parseInt(n,10)}for(var n in w.PRINTABLE_KEYS){var t=w.PRINTABLE_KEYS[n].toLowerCase();w[t]=parseInt(n,10)}$.mixin(w,w.MODIFIER_KEYS),$.mixin(w,w.PRINTABLE_KEYS),$.mixin(w,w.FUNCTION_KEYS),w.enter=w.return,w.escape=w.esc,w.del=w.delete,function(){for(var e=["cmd","ctrl","alt","shift"],r=Math.pow(2,e.length);r--;)w.KEY_MODS[r]=e.filter(function(l){return r&w.KEY_MODS[l]}).join("-")+"-"}(),w.KEY_MODS[0]="",w.KEY_MODS[-1]="input-",$.mixin(y,w),y.default=y,y.keyCodeToString=function(e){var r=w[e];return typeof r!="string"&&(r=String.fromCharCode(e)),r.toLowerCase()}});ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(g,y,R){"use strict";var $=g("./keys"),w=g("./useragent"),d=null,s=0,a;function o(){a=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return a={passive:!1},!0}})}catch{}}function i(){return a==null&&o(),a}function n(f,p,b){this.elem=f,this.type=p,this.callback=b}n.prototype.destroy=function(){e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var t=y.addListener=function(f,p,b,k){f.addEventListener(p,b,i()),k&&k.$toDestroy.push(new n(f,p,b))},e=y.removeListener=function(f,p,b){f.removeEventListener(p,b,i())};y.stopEvent=function(f){return y.stopPropagation(f),y.preventDefault(f),!1},y.stopPropagation=function(f){f.stopPropagation&&f.stopPropagation()},y.preventDefault=function(f){f.preventDefault&&f.preventDefault()},y.getButton=function(f){return f.type=="dblclick"?0:f.type=="contextmenu"||w.isMac&&f.ctrlKey&&!f.altKey&&!f.shiftKey?2:f.button},y.capture=function(f,p,b){var k=f&&f.ownerDocument||document;function v(A){p&&p(A),b&&b(A),e(k,"mousemove",p),e(k,"mouseup",v),e(k,"dragstart",v)}return t(k,"mousemove",p),t(k,"mouseup",v),t(k,"dragstart",v),v},y.addMouseWheelListener=function(f,p,b){t(f,"wheel",function(k){var v=.15,A=k.deltaX||0,M=k.deltaY||0;switch(k.deltaMode){case k.DOM_DELTA_PIXEL:k.wheelX=A*v,k.wheelY=M*v;break;case k.DOM_DELTA_LINE:var E=15;k.wheelX=A*E,k.wheelY=M*E;break;case k.DOM_DELTA_PAGE:var _=150;k.wheelX=A*_,k.wheelY=M*_;break}p(k)},b)},y.addMultiMouseDownListener=function(f,p,b,k,v){var A=0,M,E,_,C={2:"dblclick",3:"tripleclick",4:"quadclick"};function x(m){if(y.getButton(m)!==0?A=0:m.detail>1?(A++,A>4&&(A=1)):A=1,w.isIE){var h=Math.abs(m.clientX-M)>5||Math.abs(m.clientY-E)>5;(!_||h)&&(A=1),_&&clearTimeout(_),_=setTimeout(function(){_=null},p[A-1]||600),A==1&&(M=m.clientX,E=m.clientY)}if(m._clicks=A,b[k]("mousedown",m),A>4)A=0;else if(A>1)return b[k](C[A],m)}Array.isArray(f)||(f=[f]),f.forEach(function(m){t(m,"mousedown",x,v)})};function r(f){return 0|(f.ctrlKey?1:0)|(f.altKey?2:0)|(f.shiftKey?4:0)|(f.metaKey?8:0)}y.getModifierString=function(f){return $.KEY_MODS[r(f)]};function l(f,p,b){var k=r(p);if(!b&&p.code&&(b=$.$codeToKeyCode[p.code]||b),!w.isMac&&d){if(p.getModifierState&&(p.getModifierState("OS")||p.getModifierState("Win"))&&(k|=8),d.altGr)if((3&k)!=3)d.altGr=0;else return;if(b===18||b===17){var v=p.location;if(b===17&&v===1)d[b]==1&&(s=p.timeStamp);else if(b===18&&k===3&&v===2){var A=p.timeStamp-s;A<50&&(d.altGr=!0)}}}if(b in $.MODIFIER_KEYS&&(b=-1),!(!k&&b===13&&p.location===3&&(f(p,k,-b),p.defaultPrevented))){if(w.isChromeOS&&k&8){if(f(p,k,b),p.defaultPrevented)return;k&=-9}return!k&&!(b in $.FUNCTION_KEYS)&&!(b in $.PRINTABLE_KEYS)?!1:f(p,k,b)}}y.addCommandKeyListener=function(f,p,b){var k=null;t(f,"keydown",function(v){d[v.keyCode]=(d[v.keyCode]||0)+1;var A=l(p,v,v.keyCode);return k=v.defaultPrevented,A},b),t(f,"keypress",function(v){k&&(v.ctrlKey||v.altKey||v.shiftKey||v.metaKey)&&(y.stopEvent(v),k=null)},b),t(f,"keyup",function(v){d[v.keyCode]=null},b),d||(c(),t(window,"focus",c))};function c(){d=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!w.isOldIE){var u=1;y.nextTick=function(f,p){p=p||window;var b="zero-timeout-message-"+u++,k=function(v){v.data==b&&(y.stopPropagation(v),e(p,"message",k),f())};t(p,"message",k),p.postMessage(b,"*")}}y.$idleBlocked=!1,y.onIdle=function(f,p){return setTimeout(function b(){y.$idleBlocked?setTimeout(b,100):f()},p)},y.$idleBlockId=null,y.blockIdle=function(f){y.$idleBlockId&&clearTimeout(y.$idleBlockId),y.$idleBlocked=!0,y.$idleBlockId=setTimeout(function(){y.$idleBlocked=!1},f||100)},y.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),y.nextFrame?y.nextFrame=y.nextFrame.bind(window):y.nextFrame=function(f){setTimeout(f,17)}});ace.define("ace/clipboard",["require","exports","module"],function(g,y,R){"use strict";var $;R.exports={lineMode:!1,pasteCancelled:function(){return $&&$>Date.now()-50?!0:$=!1},cancel:function(){$=Date.now()}}});ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(g,y,R){"use strict";var $=g("../lib/event"),w=g("../config").nls,d=g("../lib/useragent"),s=g("../lib/dom"),a=g("../lib/lang"),o=g("../clipboard"),i=d.isChrome<18,n=d.isIE,t=d.isChrome>63,e=400,r=g("../lib/keys"),l=r.KEY_MODS,c=d.isIOS,u=c?/\s/:/\n/,f=d.isMobile,p=function(){function b(k,v){var A=this;this.host=v,this.text=s.createElement("textarea"),this.text.className="ace_text-input",this.text.setAttribute("wrap","off"),this.text.setAttribute("autocomplete","off"),this.text.setAttribute("autocorrect","off"),this.text.setAttribute("autocapitalize","off"),this.text.setAttribute("spellcheck","false"),this.text.style.opacity="0",k.insertBefore(this.text,k.firstChild),this.copied=!1,this.pasted=!1,this.inComposition=!1,this.sendingText=!1,this.tempStyle="",f||(this.text.style.fontSize="1px"),this.commandMode=!1,this.ignoreFocusEvents=!1,this.lastValue="",this.lastSelectionStart=0,this.lastSelectionEnd=0,this.lastRestoreEnd=0,this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,this.numberOfExtraLines=0;try{this.$isFocused=document.activeElement===this.text}catch{}this.cancelComposition=this.cancelComposition.bind(this),this.setAriaOptions({role:"textbox"}),$.addListener(this.text,"blur",function(M){A.ignoreFocusEvents||(v.onBlur(M),A.$isFocused=!1)},v),$.addListener(this.text,"focus",function(M){if(!A.ignoreFocusEvents){if(A.$isFocused=!0,d.isEdge)try{if(!document.hasFocus())return}catch{}v.onFocus(M),d.isEdge?setTimeout(A.resetSelection.bind(A)):A.resetSelection()}},v),this.$focusScroll=!1,v.on("beforeEndOperation",function(){var M=v.curOp,E=M&&M.command&&M.command.name;if(E!="insertstring"){var _=E&&(M.docChanged||M.selectionChanged);A.inComposition&&_&&(A.lastValue=A.text.value="",A.onCompositionEnd()),A.resetSelection()}}),v.on("changeSelection",this.setAriaLabel.bind(this)),this.resetSelection=c?this.$resetSelectionIOS:this.$resetSelection,this.$isFocused&&v.onFocus(),this.inputHandler=null,this.afterContextMenu=!1,$.addCommandKeyListener(this.text,function(M,E,_){if(!A.inComposition)return v.onCommandKey(M,E,_)},v),$.addListener(this.text,"select",this.onSelect.bind(this),v),$.addListener(this.text,"input",this.onInput.bind(this),v),$.addListener(this.text,"cut",this.onCut.bind(this),v),$.addListener(this.text,"copy",this.onCopy.bind(this),v),$.addListener(this.text,"paste",this.onPaste.bind(this),v),(!("oncut"in this.text)||!("oncopy"in this.text)||!("onpaste"in this.text))&&$.addListener(k,"keydown",function(M){if(!(d.isMac&&!M.metaKey||!M.ctrlKey))switch(M.keyCode){case 67:A.onCopy(M);break;case 86:A.onPaste(M);break;case 88:A.onCut(M);break}},v),this.syncComposition=a.delayedCall(this.onCompositionUpdate.bind(this),50).schedule.bind(null,null),$.addListener(this.text,"compositionstart",this.onCompositionStart.bind(this),v),$.addListener(this.text,"compositionupdate",this.onCompositionUpdate.bind(this),v),$.addListener(this.text,"keyup",this.onKeyup.bind(this),v),$.addListener(this.text,"keydown",this.syncComposition.bind(this),v),$.addListener(this.text,"compositionend",this.onCompositionEnd.bind(this),v),this.closeTimeout,$.addListener(this.text,"mouseup",this.$onContextMenu.bind(this),v),$.addListener(this.text,"mousedown",function(M){M.preventDefault(),A.onContextMenuClose()},v),$.addListener(v.renderer.scroller,"contextmenu",this.$onContextMenu.bind(this),v),$.addListener(this.text,"contextmenu",this.$onContextMenu.bind(this),v),c&&this.addIosSelectionHandler(k,v,this.text)}return b.prototype.addIosSelectionHandler=function(k,v,A){var M=this,E=null,_=!1;A.addEventListener("keydown",function(x){E&&clearTimeout(E),_=!0},!0),A.addEventListener("keyup",function(x){E=setTimeout(function(){_=!1},100)},!0);var C=function(x){if(document.activeElement===A&&!(_||M.inComposition||v.$mouseHandler.isMousePressed)&&!M.copied){var m=A.selectionStart,h=A.selectionEnd,S=null,L=0;if(m==0?S=r.up:m==1?S=r.home:h>M.lastSelectionEnd&&M.lastValue[h]==`
|
|
161
|
+
`?S=r.end:m<M.lastSelectionStart&&M.lastValue[m-1]==" "?(S=r.left,L=l.option):m<M.lastSelectionStart||m==M.lastSelectionStart&&M.lastSelectionEnd!=M.lastSelectionStart&&m==h?S=r.left:h>M.lastSelectionEnd&&M.lastValue.slice(0,h).split(`
|
|
162
|
+
`).length>2?S=r.down:h>M.lastSelectionEnd&&M.lastValue[h-1]==" "?(S=r.right,L=l.option):(h>M.lastSelectionEnd||h==M.lastSelectionEnd&&M.lastSelectionEnd!=M.lastSelectionStart&&m==h)&&(S=r.right),m!==h&&(L|=l.shift),S){var T=v.onCommandKey({},L,S);if(!T&&v.commands){S=r.keyCodeToString(S);var I=v.commands.findKeyCommand(L,S);I&&v.execCommand(I)}M.lastSelectionStart=m,M.lastSelectionEnd=h,M.resetSelection("")}}};document.addEventListener("selectionchange",C),v.on("destroy",function(){document.removeEventListener("selectionchange",C)})},b.prototype.onContextMenuClose=function(){var k=this;clearTimeout(this.closeTimeout),this.closeTimeout=setTimeout(function(){k.tempStyle&&(k.text.style.cssText=k.tempStyle,k.tempStyle=""),k.host.renderer.$isMousePressed=!1,k.host.renderer.$keepTextAreaAtCursor&&k.host.renderer.$moveTextAreaToCursor()},0)},b.prototype.$onContextMenu=function(k){this.host.textInput.onContextMenu(k),this.onContextMenuClose()},b.prototype.onKeyup=function(k){k.keyCode==27&&this.text.value.length<this.text.selectionStart&&(this.inComposition||(this.lastValue=this.text.value),this.lastSelectionStart=this.lastSelectionEnd=-1,this.resetSelection()),this.syncComposition()},b.prototype.cancelComposition=function(){this.ignoreFocusEvents=!0,this.text.blur(),this.text.focus(),this.ignoreFocusEvents=!1},b.prototype.onCompositionStart=function(k){if(!(this.inComposition||!this.host.onCompositionStart||this.host.$readOnly)&&(this.inComposition={},!this.commandMode)){k.data&&(this.inComposition.useTextareaForIME=!1),setTimeout(this.onCompositionUpdate.bind(this),0),this.host._signal("compositionStart"),this.host.on("mousedown",this.cancelComposition);var v=this.host.getSelectionRange();v.end.row=v.start.row,v.end.column=v.start.column,this.inComposition.markerRange=v,this.inComposition.selectionStart=this.lastSelectionStart,this.host.onCompositionStart(this.inComposition),this.inComposition.useTextareaForIME?(this.lastValue=this.text.value="",this.lastSelectionStart=0,this.lastSelectionEnd=0):(this.text.msGetInputContext&&(this.inComposition.context=this.text.msGetInputContext()),this.text.getInputContext&&(this.inComposition.context=this.text.getInputContext()))}},b.prototype.onCompositionUpdate=function(){if(!(!this.inComposition||!this.host.onCompositionUpdate||this.host.$readOnly)){if(this.commandMode)return this.cancelComposition();if(this.inComposition.useTextareaForIME)this.host.onCompositionUpdate(this.text.value);else{var k=this.text.value;this.sendText(k),this.inComposition.markerRange&&(this.inComposition.context&&(this.inComposition.markerRange.start.column=this.inComposition.selectionStart=this.inComposition.context.compositionStartOffset),this.inComposition.markerRange.end.column=this.inComposition.markerRange.start.column+this.lastSelectionEnd-this.inComposition.selectionStart+this.lastRestoreEnd)}}},b.prototype.onCompositionEnd=function(k){!this.host.onCompositionEnd||this.host.$readOnly||(this.inComposition=!1,this.host.onCompositionEnd(),this.host.off("mousedown",this.cancelComposition),k&&this.onInput())},b.prototype.onCut=function(k){this.doCopy(k,!0)},b.prototype.onCopy=function(k){this.doCopy(k,!1)},b.prototype.onPaste=function(k){var v=this.handleClipboardData(k);o.pasteCancelled()||(typeof v=="string"?(v&&this.host.onPaste(v,k),d.isIE&&setTimeout(this.resetSelection),$.preventDefault(k)):(this.text.value="",this.pasted=!0))},b.prototype.doCopy=function(k,v){var A=this,M=this.host.getCopyText();if(!M)return $.preventDefault(k);this.handleClipboardData(k,M)?(c&&(this.resetSelection(M),this.copied=M,setTimeout(function(){A.copied=!1},10)),v?this.host.onCut():this.host.onCopy(),$.preventDefault(k)):(this.copied=!0,this.text.value=M,this.text.select(),setTimeout(function(){A.copied=!1,A.resetSelection(),v?A.host.onCut():A.host.onCopy()}))},b.prototype.handleClipboardData=function(k,v,A){var M=k.clipboardData||window.clipboardData;if(!(!M||i)){var E=n||A?"Text":"text/plain";try{return v?M.setData(E,v)!==!1:M.getData(E)}catch(_){if(!A)return this.handleClipboardData(_,v,!0)}}},b.prototype.onInput=function(k){if(this.inComposition)return this.onCompositionUpdate();if(k&&k.inputType){if(k.inputType=="historyUndo")return this.host.execCommand("undo");if(k.inputType=="historyRedo")return this.host.execCommand("redo")}var v=this.text.value,A=this.sendText(v,!0);(v.length>e+100||u.test(A)||f&&this.lastSelectionStart<1&&this.lastSelectionStart==this.lastSelectionEnd)&&this.resetSelection()},b.prototype.sendText=function(k,v){if(this.afterContextMenu&&(this.afterContextMenu=!1),this.pasted)return this.resetSelection(),k&&this.host.onPaste(k),this.pasted=!1,"";for(var A=this.text.selectionStart,M=this.text.selectionEnd,E=this.lastSelectionStart,_=this.lastValue.length-this.lastSelectionEnd,C=k,x=k.length-A,m=k.length-M,h=0;E>0&&this.lastValue[h]==k[h];)h++,E--;for(C=C.slice(h),h=1;_>0&&this.lastValue.length-h>this.lastSelectionStart-1&&this.lastValue[this.lastValue.length-h]==k[k.length-h];)h++,_--;x-=h-1,m-=h-1;var S=C.length-h+1;if(S<0&&(E=-S,S=0),C=C.slice(0,S),!v&&!C&&!x&&!E&&!_&&!m)return"";this.sendingText=!0;var L=!1;return d.isAndroid&&C==". "&&(C=" ",L=!0),C&&!E&&!_&&!x&&!m||this.commandMode?this.host.onTextInput(C):this.host.onTextInput(C,{extendLeft:E,extendRight:_,restoreStart:x,restoreEnd:m}),this.sendingText=!1,this.lastValue=k,this.lastSelectionStart=A,this.lastSelectionEnd=M,this.lastRestoreEnd=m,L?`
|
|
163
|
+
`:C},b.prototype.onSelect=function(k){var v=this;if(!this.inComposition){var A=function(M){return M.selectionStart===0&&M.selectionEnd>=v.lastValue.length&&M.value===v.lastValue&&v.lastValue&&M.selectionEnd!==v.lastSelectionEnd};this.copied?this.copied=!1:A(this.text)?(this.host.selectAll(),this.resetSelection()):f&&this.text.selectionStart!=this.lastSelectionStart&&this.resetSelection()}},b.prototype.$resetSelectionIOS=function(k){if(!(!this.$isFocused||this.copied&&!k||this.sendingText)){k||(k="");var v=`
|
|
164
|
+
ab`+k+`cde fg
|
|
165
|
+
`;v!=this.text.value&&(this.text.value=this.lastValue=v);var A=4,M=4+(k.length||(this.host.selection.isEmpty()?0:1));(this.lastSelectionStart!=A||this.lastSelectionEnd!=M)&&this.text.setSelectionRange(A,M),this.lastSelectionStart=A,this.lastSelectionEnd=M}},b.prototype.$resetSelection=function(){var k=this;if(!(this.inComposition||this.sendingText)&&!(!this.$isFocused&&!this.afterContextMenu)){this.inComposition=!0;var v=0,A=0,M="",E=function(I,D){for(var O=D,N=1;N<=I-k.rowStart&&N<2*k.numberOfExtraLines+1;N++)O+=k.host.session.getLine(I-N).length+1;return O};if(this.host.session){var _=this.host.selection,C=_.getRange(),x=_.cursor.row;x===this.rowEnd+1?(this.rowStart=this.rowEnd+1,this.rowEnd=this.rowStart+2*this.numberOfExtraLines):x===this.rowStart-1?(this.rowEnd=this.rowStart-1,this.rowStart=this.rowEnd-2*this.numberOfExtraLines):(x<this.rowStart-1||x>this.rowEnd+1)&&(this.rowStart=x>this.numberOfExtraLines?x-this.numberOfExtraLines:0,this.rowEnd=x>this.numberOfExtraLines?x+this.numberOfExtraLines:2*this.numberOfExtraLines);for(var m=[],h=this.rowStart;h<=this.rowEnd;h++)m.push(this.host.session.getLine(h));if(M=m.join(`
|
|
166
|
+
`),v=E(C.start.row,C.start.column),A=E(C.end.row,C.end.column),C.start.row<this.rowStart){var S=this.host.session.getLine(this.rowStart-1);v=C.start.row<this.rowStart-1?0:v,A+=S.length+1,M=S+`
|
|
167
|
+
`+M}else if(C.end.row>this.rowEnd){var L=this.host.session.getLine(this.rowEnd+1);A=C.end.row>this.rowEnd+1?L.length:C.end.column,A+=M.length+1,M=M+`
|
|
168
|
+
`+L}else f&&x>0&&(M=`
|
|
169
|
+
`+M,A+=1,v+=1);M.length>e&&(v<e&&A<e?M=M.slice(0,e):(M=`
|
|
170
|
+
`,v==A?v=A=0:(v=0,A=1)));var T=M+`
|
|
171
|
+
|
|
172
|
+
`;T!=this.lastValue&&(this.text.value=this.lastValue=T,this.lastSelectionStart=this.lastSelectionEnd=T.length)}if(this.afterContextMenu&&(this.lastSelectionStart=this.text.selectionStart,this.lastSelectionEnd=this.text.selectionEnd),this.lastSelectionEnd!=A||this.lastSelectionStart!=v||this.text.selectionEnd!=this.lastSelectionEnd)try{this.text.setSelectionRange(v,A),this.lastSelectionStart=v,this.lastSelectionEnd=A}catch{}this.inComposition=!1}},b.prototype.setHost=function(k){this.host=k},b.prototype.setNumberOfExtraLines=function(k){if(this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,k<0){this.numberOfExtraLines=0;return}this.numberOfExtraLines=k},b.prototype.setAriaLabel=function(){var k="";if(this.host.$textInputAriaLabel&&(k+="".concat(this.host.$textInputAriaLabel,", ")),this.host.session){var v=this.host.session.selection.cursor.row;k+=w("text-input.aria-label","Cursor at row $0",[v+1])}this.text.setAttribute("aria-label",k)},b.prototype.setAriaOptions=function(k){k.activeDescendant?(this.text.setAttribute("aria-haspopup","true"),this.text.setAttribute("aria-autocomplete",k.inline?"both":"list"),this.text.setAttribute("aria-activedescendant",k.activeDescendant)):(this.text.setAttribute("aria-haspopup","false"),this.text.setAttribute("aria-autocomplete","both"),this.text.removeAttribute("aria-activedescendant")),k.role&&this.text.setAttribute("role",k.role),k.setLabel&&(this.text.setAttribute("aria-roledescription",w("text-input.aria-roledescription","editor")),this.setAriaLabel())},b.prototype.focus=function(){var k=this;if(this.setAriaOptions({setLabel:this.host.renderer.enableKeyboardAccessibility}),this.tempStyle||t||this.$focusScroll=="browser")return this.text.focus({preventScroll:!0});var v=this.text.style.top;this.text.style.position="fixed",this.text.style.top="0px";try{var A=this.text.getBoundingClientRect().top!=0}catch{return}var M=[];if(A)for(var E=this.text.parentElement;E&&E.nodeType==1;)M.push(E),E.setAttribute("ace_nocontext","true"),!E.parentElement&&E.getRootNode?E=E.getRootNode().host:E=E.parentElement;this.text.focus({preventScroll:!0}),A&&M.forEach(function(_){_.removeAttribute("ace_nocontext")}),setTimeout(function(){k.text.style.position="",k.text.style.top=="0px"&&(k.text.style.top=v)},0)},b.prototype.blur=function(){this.text.blur()},b.prototype.isFocused=function(){return this.$isFocused},b.prototype.setInputHandler=function(k){this.inputHandler=k},b.prototype.getInputHandler=function(){return this.inputHandler},b.prototype.getElement=function(){return this.text},b.prototype.setCommandMode=function(k){this.commandMode=k,this.text.readOnly=!1},b.prototype.setReadOnly=function(k){this.commandMode||(this.text.readOnly=k)},b.prototype.setCopyWithEmptySelection=function(k){},b.prototype.onContextMenu=function(k){this.afterContextMenu=!0,this.resetSelection(),this.host._emit("nativecontextmenu",{target:this.host,domEvent:k}),this.moveToMouse(k,!0)},b.prototype.moveToMouse=function(k,v){var A=this;this.tempStyle||(this.tempStyle=this.text.style.cssText),this.text.style.cssText=(v?"z-index:100000;":"")+(d.isIE?"opacity:0.1;":"")+"text-indent: -"+(this.lastSelectionStart+this.lastSelectionEnd)*this.host.renderer.characterWidth*.5+"px;";var M=this.host.container.getBoundingClientRect(),E=s.computedStyle(this.host.container),_=M.top+(parseInt(E.borderTopWidth)||0),C=M.left+(parseInt(E.borderLeftWidth)||0),x=M.bottom-_-this.text.clientHeight-2,m=function(h){s.translate(A.text,h.clientX-C-2,Math.min(h.clientY-_-2,x))};m(k),k.type=="mousedown"&&(this.host.renderer.$isMousePressed=!0,clearTimeout(this.closeTimeout),d.isWin&&$.capture(this.host.container,m,this.onContextMenuClose.bind(this)))},b.prototype.destroy=function(){this.text.parentElement&&this.text.parentElement.removeChild(this.text)},b}();y.TextInput=p,y.$setUserAgentForTests=function(b,k){f=b,c=k}});ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(g,y,R){"use strict";var $=g("../lib/useragent"),w=0,d=550,s=function(){function i(n){n.$clickSelection=null;var t=n.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(n)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(n)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(n)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(n)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(n));var e=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];e.forEach(function(r){n[r]=this[r]},this),n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange"),n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}return i.prototype.onMouseDown=function(n){var t=n.inSelection(),e=n.getDocumentPosition();this.mousedownEvent=n;var r=this.editor,l=n.getButton();if(l!==0){var c=r.getSelectionRange(),u=c.isEmpty();(u||l==1)&&r.selection.moveToPosition(e),l==2&&(r.textInput.onContextMenu(n.domEvent),$.isMozilla||n.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!r.isFocused()&&(r.focus(),this.$focusTimeout&&!this.$clickSelection&&!r.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(n);return}return this.captureMouse(n),this.startSelect(e,n.domEvent._clicks>1),n.preventDefault()},i.prototype.startSelect=function(n,t){n=n||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var e=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?e.selection.selectToPosition(n):t||e.selection.moveToPosition(n),t||this.select(),e.setStyle("ace_selecting"),this.setState("select"))},i.prototype.select=function(){var n,t=this.editor,e=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(e);if(r==-1)n=this.$clickSelection.end;else if(r==1)n=this.$clickSelection.start;else{var l=o(this.$clickSelection,e,t.session);e=l.cursor,n=l.anchor}t.selection.setSelectionAnchor(n.row,n.column)}t.selection.selectToPosition(e),t.renderer.scrollCursorIntoView()},i.prototype.extendSelectionBy=function(n){var t,e=this.editor,r=e.renderer.screenToTextCoordinates(this.x,this.y),l=e.selection[n](r.row,r.column);if(this.$clickSelection){var c=this.$clickSelection.comparePoint(l.start),u=this.$clickSelection.comparePoint(l.end);if(c==-1&&u<=0)t=this.$clickSelection.end,(l.end.row!=r.row||l.end.column!=r.column)&&(r=l.start);else if(u==1&&c>=0)t=this.$clickSelection.start,(l.start.row!=r.row||l.start.column!=r.column)&&(r=l.end);else if(c==-1&&u==1)r=l.end,t=l.start;else{var f=o(this.$clickSelection,r,e.session);r=f.cursor,t=f.anchor}e.selection.setSelectionAnchor(t.row,t.column)}e.selection.selectToPosition(r),e.renderer.scrollCursorIntoView()},i.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},i.prototype.focusWait=function(){var n=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(n>w||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},i.prototype.onDoubleClick=function(n){var t=n.getDocumentPosition(),e=this.editor,r=e.session,l=r.getBracketRange(t);l?(l.isEmpty()&&(l.start.column--,l.end.column++),this.setState("select")):(l=e.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=l,this.select()},i.prototype.onTripleClick=function(n){var t=n.getDocumentPosition(),e=this.editor;this.setState("selectByLines");var r=e.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=e.selection.getLineRange(r.start.row),this.$clickSelection.end=e.selection.getLineRange(r.end.row).end):this.$clickSelection=e.selection.getLineRange(t.row),this.select()},i.prototype.onQuadClick=function(n){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},i.prototype.onMouseWheel=function(n){if(!n.getAccelKey()){n.getShiftKey()&&n.wheelY&&!n.wheelX&&(n.wheelX=n.wheelY,n.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var e=this.$lastScroll,r=n.domEvent.timeStamp,l=r-e.t,c=l?n.wheelX/l:e.vx,u=l?n.wheelY/l:e.vy;l<d&&(c=(c+e.vx)/2,u=(u+e.vy)/2);var f=Math.abs(c/u),p=!1;if(f>=1&&t.renderer.isScrollableBy(n.wheelX*n.speed,0)&&(p=!0),f<=1&&t.renderer.isScrollableBy(0,n.wheelY*n.speed)&&(p=!0),p)e.allowed=r;else if(r-e.allowed<d){var b=Math.abs(c)<=1.5*Math.abs(e.vx)&&Math.abs(u)<=1.5*Math.abs(e.vy);b?(p=!0,e.allowed=r):e.allowed=0}if(e.t=r,e.vx=c,e.vy=u,p)return t.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}},i}();s.prototype.selectEnd=s.prototype.selectByLinesEnd,s.prototype.selectAllEnd=s.prototype.selectByLinesEnd,s.prototype.selectByWordsEnd=s.prototype.selectByLinesEnd,y.DefaultHandlers=s;function a(i,n,t,e){return Math.sqrt(Math.pow(t-i,2)+Math.pow(e-n,2))}function o(i,n,t){if(i.start.row==i.end.row)var e=2*n.column-i.start.column-i.end.column;else if(i.start.row==i.end.row-1&&!i.start.column&&!i.end.column)var e=3*n.column-2*t.getLine(i.start.row).length;else var e=2*n.row-i.start.row-i.end.row;return e<0?{cursor:i.start,anchor:i.end}:{cursor:i.end,anchor:i.start}}});ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(g,y,R){"use strict";var $=g("../lib/event"),w=g("../lib/useragent"),d=function(){function s(a,o){this.speed,this.wheelX,this.wheelY,this.domEvent=a,this.editor=o,this.x=this.clientX=a.clientX,this.y=this.clientY=a.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return s.prototype.stopPropagation=function(){$.stopPropagation(this.domEvent),this.propagationStopped=!0},s.prototype.preventDefault=function(){$.preventDefault(this.domEvent),this.defaultPrevented=!0},s.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},s.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},s.prototype.getGutterRow=function(){var a=this.getDocumentPosition().row,o=this.editor.session.documentToScreenRow(a,0),i=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return o-i},s.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var a=this.editor,o=a.getSelectionRange();if(o.isEmpty())this.$inSelection=!1;else{var i=this.getDocumentPosition();this.$inSelection=o.contains(i.row,i.column)}return this.$inSelection},s.prototype.getButton=function(){return $.getButton(this.domEvent)},s.prototype.getShiftKey=function(){return this.domEvent.shiftKey},s.prototype.getAccelKey=function(){return w.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},s}();y.MouseEvent=d});ace.define("ace/lib/scroll",["require","exports","module"],function(g,y,R){y.preventParentScroll=function(w){w.stopPropagation();var d=w.currentTarget,s=d.scrollHeight>d.clientHeight;s||w.preventDefault()}});ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(g,y,R){"use strict";var $=this&&this.__extends||function(){var l=function(c,u){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,p){f.__proto__=p}||function(f,p){for(var b in p)Object.prototype.hasOwnProperty.call(p,b)&&(f[b]=p[b])},l(c,u)};return function(c,u){if(typeof u!="function"&&u!==null)throw new TypeError("Class extends value "+String(u)+" is not a constructor or null");l(c,u);function f(){this.constructor=c}c.prototype=u===null?Object.create(u):(f.prototype=u.prototype,new f)}}(),w=this&&this.__values||function(l){var c=typeof Symbol=="function"&&Symbol.iterator,u=c&&l[c],f=0;if(u)return u.call(l);if(l&&typeof l.length=="number")return{next:function(){return l&&f>=l.length&&(l=void 0),{value:l&&l[f++],done:!l}}};throw new TypeError(c?"Object is not iterable.":"Symbol.iterator is not defined.")},d=g("./lib/dom"),s=g("./lib/event"),a=g("./range").Range,o=g("./lib/scroll").preventParentScroll,i="ace_tooltip",n=function(){function l(c){this.isOpen=!1,this.$element=null,this.$parentNode=c}return l.prototype.$init=function(){return this.$element=d.createElement("div"),this.$element.className=i,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},l.prototype.getElement=function(){return this.$element||this.$init()},l.prototype.setText=function(c){this.getElement().textContent=c},l.prototype.setHtml=function(c){this.getElement().innerHTML=c},l.prototype.setPosition=function(c,u){this.getElement().style.left=c+"px",this.getElement().style.top=u+"px"},l.prototype.setClassName=function(c){d.addCssClass(this.getElement(),c)},l.prototype.setTheme=function(c){this.theme&&(this.theme.isDark&&d.removeCssClass(this.getElement(),"ace_dark"),this.theme.cssClass&&d.removeCssClass(this.getElement(),this.theme.cssClass)),c.isDark&&d.addCssClass(this.getElement(),"ace_dark"),c.cssClass&&d.addCssClass(this.getElement(),c.cssClass),this.theme={isDark:c.isDark,cssClass:c.cssClass}},l.prototype.show=function(c,u,f){c!=null&&this.setText(c),u!=null&&f!=null&&this.setPosition(u,f),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},l.prototype.hide=function(c){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=i,this.isOpen=!1)},l.prototype.getHeight=function(){return this.getElement().offsetHeight},l.prototype.getWidth=function(){return this.getElement().offsetWidth},l.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},l}(),t=function(){function l(){this.popups=[]}return l.prototype.addPopup=function(c){this.popups.push(c),this.updatePopups()},l.prototype.removePopup=function(c){var u=this.popups.indexOf(c);u!==-1&&(this.popups.splice(u,1),this.updatePopups())},l.prototype.updatePopups=function(){var c,u,f,p;this.popups.sort(function(x,m){return m.priority-x.priority});var b=[];try{for(var k=w(this.popups),v=k.next();!v.done;v=k.next()){var A=v.value,M=!0;try{for(var E=(f=void 0,w(b)),_=E.next();!_.done;_=E.next()){var C=_.value;if(this.doPopupsOverlap(C,A)){M=!1;break}}}catch(x){f={error:x}}finally{try{_&&!_.done&&(p=E.return)&&p.call(E)}finally{if(f)throw f.error}}M?b.push(A):A.hide()}}catch(x){c={error:x}}finally{try{v&&!v.done&&(u=k.return)&&u.call(k)}finally{if(c)throw c.error}}},l.prototype.doPopupsOverlap=function(c,u){var f=c.getElement().getBoundingClientRect(),p=u.getElement().getBoundingClientRect();return f.left<p.right&&f.right>p.left&&f.top<p.bottom&&f.bottom>p.top},l}(),e=new t;y.popupManager=e,y.Tooltip=n;var r=function(l){$(c,l);function c(u){u===void 0&&(u=document.body);var f=l.call(this,u)||this;f.timeout=void 0,f.lastT=0,f.idleTime=350,f.lastEvent=void 0,f.onMouseOut=f.onMouseOut.bind(f),f.onMouseMove=f.onMouseMove.bind(f),f.waitForHover=f.waitForHover.bind(f),f.hide=f.hide.bind(f);var p=f.getElement();return p.style.whiteSpace="pre-wrap",p.style.pointerEvents="auto",p.addEventListener("mouseout",f.onMouseOut),p.tabIndex=-1,p.addEventListener("blur",function(){p.contains(document.activeElement)||this.hide()}.bind(f)),p.addEventListener("wheel",o),f}return c.prototype.addToEditor=function(u){u.on("mousemove",this.onMouseMove),u.on("mousedown",this.hide);var f=u.renderer.getMouseEventTarget();f&&typeof f.removeEventListener=="function"&&f.addEventListener("mouseout",this.onMouseOut,!0)},c.prototype.removeFromEditor=function(u){u.off("mousemove",this.onMouseMove),u.off("mousedown",this.hide);var f=u.renderer.getMouseEventTarget();f&&typeof f.removeEventListener=="function"&&f.removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},c.prototype.onMouseMove=function(u,f){this.lastEvent=u,this.lastT=Date.now();var p=f.$mouseHandler.isMousePressed;if(this.isOpen){var b=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(b.row,b.column)||p||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||p||(this.lastEvent=u,this.timeout=setTimeout(this.waitForHover,this.idleTime))},c.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var u=Date.now()-this.lastT;if(this.idleTime-u>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-u);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},c.prototype.isOutsideOfText=function(u){var f=u.editor,p=u.getDocumentPosition(),b=f.session.getLine(p.row);if(p.column==b.length){var k=f.renderer.pixelToScreenCoordinates(u.clientX,u.clientY),v=f.session.documentToScreenPosition(p.row,p.column);if(v.column!=k.column||v.row!=k.row)return!0}return!1},c.prototype.setDataProvider=function(u){this.$gatherData=u},c.prototype.showForRange=function(u,f,p,b){if(!(b&&b!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var k=u.renderer;this.isOpen||(e.addPopup(this),this.$registerCloseEvents(),this.setTheme(k.theme)),this.isOpen=!0,this.range=a.fromPoints(f.start,f.end);var v=k.textToScreenCoordinates(f.start.row,f.start.column),A=k.scroller.getBoundingClientRect();v.pageX<A.left&&(v.pageX=A.left);var M=this.getElement();M.innerHTML="",M.appendChild(p),M.style.maxHeight="",M.style.display="block",this.$setPosition(u,v,!0,f),d.$fixPositionBug(M)}},c.prototype.$setPosition=function(u,f,p,b){var k=10;p&&this.addMarker(b,u.session);var v=u.renderer,A=this.getElement(),M=A.offsetHeight,E=A.offsetWidth,_=f.pageY,C=f.pageX,x=window.innerHeight-_-v.lineHeight,m=this.$shouldPlaceAbove(M,_,x-k);A.style.maxHeight=(m?_:x)-k+"px",A.style.top=m?"":_+v.lineHeight+"px",A.style.bottom=m?window.innerHeight-_+"px":"",A.style.left=Math.min(C,window.innerWidth-E-k)+"px"},c.prototype.$shouldPlaceAbove=function(u,f,p){return!(f-u<0&&f<p)},c.prototype.addMarker=function(u,f){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=f,this.marker=f&&f.addMarker(u,"ace_highlight-marker","text")},c.prototype.hide=function(u){u&&this.$fromKeyboard&&u.type=="keydown"&&u.code=="Escape"||!u&&document.activeElement==this.getElement()||u&&u.target&&(u.type!="keydown"||u.ctrlKey||u.metaKey)&&this.$element.contains(u.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$fromKeyboard=!1,this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,e.removePopup(this)))},c.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},c.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},c.prototype.onMouseOut=function(u){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!u.relatedTarget||this.getElement().contains(u.relatedTarget)||u&&u.currentTarget.contains(u.relatedTarget)||u.relatedTarget.classList.contains("ace_content")||this.hide())},c}(n);y.HoverTooltip=r});ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/mouse/mouse_event","ace/tooltip","ace/config","ace/range"],function(g,y,R){"use strict";var $=this&&this.__extends||function(){var e=function(r,l){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,u){c.__proto__=u}||function(c,u){for(var f in u)Object.prototype.hasOwnProperty.call(u,f)&&(c[f]=u[f])},e(r,l)};return function(r,l){if(typeof l!="function"&&l!==null)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");e(r,l);function c(){this.constructor=r}r.prototype=l===null?Object.create(l):(c.prototype=l.prototype,new c)}}(),w=this&&this.__values||function(e){var r=typeof Symbol=="function"&&Symbol.iterator,l=r&&e[r],c=0;if(l)return l.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&c>=e.length&&(e=void 0),{value:e&&e[c++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")},d=g("../lib/dom"),s=g("./mouse_event").MouseEvent,a=g("../tooltip").HoverTooltip,o=g("../config").nls,i=g("../range").Range;function n(e){var r=e.editor,l=r.renderer.$gutterLayer;e.$tooltip=new t(r),e.$tooltip.addToEditor(r),e.$tooltip.setDataProvider(function(c,u){var f=c.getDocumentPosition().row;e.$tooltip.showTooltip(f)}),e.editor.setDefaultHandler("guttermousedown",function(c){if(!(!r.isFocused()||c.getButton()!=0)){var u=l.getRegion(c);if(u!="foldWidgets"){var f=c.getDocumentPosition().row,p=r.session.selection;if(c.getShiftKey())p.selectTo(f,0);else{if(c.domEvent.detail==2)return r.selectAll(),c.preventDefault();e.$clickSelection=r.selection.getLineRange(f)}return e.setState("selectByLines"),e.captureMouse(c),c.preventDefault()}}})}y.GutterHandler=n;var t=function(e){$(r,e);function r(l){var c=e.call(this,l.container)||this;c.id="gt"+ ++r.$uid,c.editor=l,c.visibleTooltipRow;var u=c.getElement();return u.setAttribute("role","tooltip"),u.setAttribute("id",c.id),u.style.pointerEvents="auto",c.idleTime=50,c.onDomMouseMove=c.onDomMouseMove.bind(c),c.onDomMouseOut=c.onDomMouseOut.bind(c),c.setClassName("ace_gutter-tooltip"),c}return r.prototype.onDomMouseMove=function(l){var c=new s(l,this.editor);this.onMouseMove(c,this.editor)},r.prototype.onDomMouseOut=function(l){var c=new s(l,this.editor);this.onMouseOut(c)},r.prototype.addToEditor=function(l){var c=l.renderer.$gutter;c.addEventListener("mousemove",this.onDomMouseMove),c.addEventListener("mouseout",this.onDomMouseOut),e.prototype.addToEditor.call(this,l)},r.prototype.removeFromEditor=function(l){var c=l.renderer.$gutter;c.removeEventListener("mousemove",this.onDomMouseMove),c.removeEventListener("mouseout",this.onDomMouseOut),e.prototype.removeFromEditor.call(this,l)},r.prototype.destroy=function(){this.editor&&this.removeFromEditor(this.editor),e.prototype.destroy.call(this)},Object.defineProperty(r,"annotationLabels",{get:function(){return{error:{singular:o("gutter-tooltip.aria-label.error.singular","error"),plural:o("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:o("gutter-tooltip.aria-label.security.singular","security finding"),plural:o("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:o("gutter-tooltip.aria-label.warning.singular","warning"),plural:o("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:o("gutter-tooltip.aria-label.info.singular","information message"),plural:o("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:o("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:o("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),r.prototype.showTooltip=function(l){var c,u=this.editor.renderer.$gutterLayer,f=u.$annotations[l],p;f?p={displayText:Array.from(f.displayText),type:Array.from(f.type)}:p={displayText:[],type:[]};var b=u.session.getFoldLine(l);if(b&&u.$showFoldedAnnotations){for(var k={error:[],security:[],warning:[],info:[],hint:[]},v={error:1,security:2,warning:3,info:4,hint:5},A,M=l+1;M<=b.end.row;M++)if(u.$annotations[M])for(var E=0;E<u.$annotations[M].text.length;E++){var _=u.$annotations[M].type[E];k[_].push(u.$annotations[M].text[E]),(!A||v[_]<v[A])&&(A=_)}if(["error","security","warning"].includes(A)){var C="".concat(r.annotationsToSummaryString(k)," in folded code.");p.displayText.push(C),p.type.push(A+"_fold")}}if(p.displayText.length===0)return this.hide();for(var x={error:[],security:[],warning:[],info:[],hint:[]},m=u.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",M=0;M<p.displayText.length;M++){var h=d.createElement("span"),S=d.createElement("span");(c=S.classList).add.apply(c,["ace_".concat(p.type[M]),m]),S.setAttribute("aria-label","".concat(r.annotationLabels[p.type[M].replace("_fold","")].singular)),S.setAttribute("role","img"),S.appendChild(d.createTextNode(" ")),h.appendChild(S),h.appendChild(d.createTextNode(p.displayText[M])),h.appendChild(d.createElement("br")),x[p.type[M].replace("_fold","")].push(h)}var L=d.createElement("span");x.error.forEach(function(D){return L.appendChild(D)}),x.security.forEach(function(D){return L.appendChild(D)}),x.warning.forEach(function(D){return L.appendChild(D)}),x.info.forEach(function(D){return L.appendChild(D)}),x.hint.forEach(function(D){return L.appendChild(D)}),L.setAttribute("aria-live","polite");var T=this.$findLinkedAnnotationNode(l);T&&T.setAttribute("aria-describedby",this.id);var I=i.fromPoints({row:l,column:0},{row:l,column:0});this.showForRange(this.editor,I,L),this.visibleTooltipRow=l,this.editor._signal("showGutterTooltip",this)},r.prototype.$setPosition=function(l,c,u,f){var p=this.$findCellByRow(f.start.row);if(p){var b=p&&p.element,k=b&&b.querySelector(".ace_gutter_annotation");if(k){var v=k.getBoundingClientRect();if(v){var A={pageX:v.right,pageY:v.top};return e.prototype.$setPosition.call(this,l,A,!1,f)}}}},r.prototype.$shouldPlaceAbove=function(l,c,u){return u<l},r.prototype.$findLinkedAnnotationNode=function(l){var c=this.$findCellByRow(l);if(c){var u=c.element;if(u.childNodes.length>2)return u.childNodes[2]}},r.prototype.$findCellByRow=function(l){return this.editor.renderer.$gutterLayer.$lines.cells.find(function(c){return c.row===l})},r.prototype.hide=function(l){if(this.isOpen){if(this.$element.removeAttribute("aria-live"),this.visibleTooltipRow!=null){var c=this.$findLinkedAnnotationNode(this.visibleTooltipRow);c&&c.removeAttribute("aria-describedby")}this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this),e.prototype.hide.call(this,l)}},r.annotationsToSummaryString=function(l){var c,u,f=[],p=["error","security","warning","info","hint"];try{for(var b=w(p),k=b.next();!k.done;k=b.next()){var v=k.value;if(l[v].length){var A=l[v].length===1?r.annotationLabels[v].singular:r.annotationLabels[v].plural;f.push("".concat(l[v].length," ").concat(A))}}}catch(M){c={error:M}}finally{try{k&&!k.done&&(u=b.return)&&u.call(b)}finally{if(c)throw c.error}}return f.join(", ")},r.prototype.isOutsideOfText=function(l){var c=l.editor,u=c.renderer.$gutter.getBoundingClientRect();return!(l.clientX>=u.left&&l.clientX<=u.right&&l.clientY>=u.top&&l.clientY<=u.bottom)},r}(a);t.$uid=0,y.GutterTooltip=t});ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(g,y,R){"use strict";var $=g("../lib/dom"),w=g("../lib/event"),d=g("../lib/useragent"),s=200,a=200,o=5;function i(t){var e=t.editor,r=$.createElement("div");r.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",r.textContent="\xA0";var l=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];l.forEach(function(F){t[F]=this[F]},this),e.on("mousedown",this.onMouseDown.bind(t));var c=e.container,u,f,p,b,k,v,A=0,M,E,_,C,x;this.onDragStart=function(F){if(this.cancelDrag||!c.draggable){var W=this;return setTimeout(function(){W.startSelect(),W.captureMouse(F)},0),F.preventDefault()}k=e.getSelectionRange();var B=F.dataTransfer;B.effectAllowed=e.getReadOnly()?"copy":"copyMove",e.container.appendChild(r),B.setDragImage&&B.setDragImage(r,0,0),setTimeout(function(){e.container.removeChild(r)}),B.clearData(),B.setData("Text",e.session.getTextRange()),E=!0,this.setState("drag")},this.onDragEnd=function(F){if(c.draggable=!1,E=!1,this.setState(null),!e.getReadOnly()){var W=F.dataTransfer.dropEffect;!M&&W=="move"&&e.session.remove(e.getSelectionRange()),e.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(F){if(!(e.getReadOnly()||!O(F.dataTransfer)))return f=F.clientX,p=F.clientY,u||L(),A++,F.dataTransfer.dropEffect=M=N(F),w.preventDefault(F)},this.onDragOver=function(F){if(!(e.getReadOnly()||!O(F.dataTransfer)))return f=F.clientX,p=F.clientY,u||(L(),A++),I!==null&&(I=null),F.dataTransfer.dropEffect=M=N(F),w.preventDefault(F)},this.onDragLeave=function(F){if(A--,A<=0&&u)return T(),M=null,w.preventDefault(F)},this.onDrop=function(F){if(v){var W=F.dataTransfer;if(E)switch(M){case"move":k.contains(v.row,v.column)?k={start:v,end:v}:k=e.moveText(k,v);break;case"copy":k=e.moveText(k,v,!0);break}else{var B=W.getData("Text");k={start:v,end:e.session.insert(v,B)},e.focus(),M=null}return T(),w.preventDefault(F)}},w.addListener(c,"dragstart",this.onDragStart.bind(t),e),w.addListener(c,"dragend",this.onDragEnd.bind(t),e),w.addListener(c,"dragenter",this.onDragEnter.bind(t),e),w.addListener(c,"dragover",this.onDragOver.bind(t),e),w.addListener(c,"dragleave",this.onDragLeave.bind(t),e),w.addListener(c,"drop",this.onDrop.bind(t),e);function m(F,W){var B=Date.now(),H=!W||F.row!=W.row,z=!W||F.column!=W.column;if(!C||H||z)e.moveCursorToPosition(F),C=B,x={x:f,y:p};else{var U=n(x.x,x.y,f,p);U>o?C=null:B-C>=a&&(e.renderer.scrollCursorIntoView(),C=null)}}function h(F,W){var B=Date.now(),H=e.renderer.layerConfig.lineHeight,z=e.renderer.layerConfig.characterWidth,U=e.renderer.scroller.getBoundingClientRect(),j={x:{left:f-U.left,right:U.right-f},y:{top:p-U.top,bottom:U.bottom-p}},P=Math.min(j.x.left,j.x.right),G=Math.min(j.y.top,j.y.bottom),V={row:F.row,column:F.column};P/z<=2&&(V.column+=j.x.left<j.x.right?-3:2),G/H<=1&&(V.row+=j.y.top<j.y.bottom?-1:1);var Y=F.row!=V.row,Q=F.column!=V.column,X=!W||F.row!=W.row;Y||Q&&!X?_?B-_>=s&&e.renderer.scrollCursorIntoView(V):_=B:_=null}function S(){var F=v;v=e.renderer.screenToTextCoordinates(f,p),m(v,F),h(v,F)}function L(){k=e.selection.toOrientedRange(),u=e.session.addMarker(k,"ace_selection",e.getSelectionStyle()),e.clearSelection(),e.isFocused()&&e.renderer.$cursorLayer.setBlinking(!1),clearInterval(b),S(),b=setInterval(S,20),A=0,w.addListener(document,"mousemove",D)}function T(){clearInterval(b),e.session.removeMarker(u),u=null,e.selection.fromOrientedRange(k),e.isFocused()&&!E&&e.$resetCursorStyle(),k=null,v=null,A=0,_=null,C=null,w.removeListener(document,"mousemove",D)}var I=null;function D(){I==null&&(I=setTimeout(function(){I!=null&&u&&T()},20))}function O(F){var W=F.types;return!W||Array.prototype.some.call(W,function(B){return B=="text/plain"||B=="Text"})}function N(F){var W=["copy","copymove","all","uninitialized"],B=["move","copymove","linkmove","all","uninitialized"],H=d.isMac?F.altKey:F.ctrlKey,z="uninitialized";try{z=F.dataTransfer.effectAllowed.toLowerCase()}catch{}var U="none";return H&&W.indexOf(z)>=0?U="copy":B.indexOf(z)>=0?U="move":W.indexOf(z)>=0&&(U="copy"),U}}(function(){this.dragWait=function(){var t=Date.now()-this.mousedownEvent.time;t>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var t=this.editor.container;t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(t){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var t=this.editor,e=t.container;e.draggable=!0,t.renderer.$cursorLayer.setBlinking(!1),t.setStyle("ace_dragging");var r=d.isWin?"default":"move";t.renderer.setCursorStyle(r),this.setState("dragReady")},this.onMouseDrag=function(t){var e=this.editor.container;if(d.isIE&&this.state=="dragReady"){var r=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);r>3&&e.dragDrop()}if(this.state==="dragWait"){var r=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);r>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(t){if(this.$dragEnabled){this.mousedownEvent=t;var e=this.editor,r=t.inSelection(),l=t.getButton(),c=t.domEvent.detail||1;if(c===1&&l===0&&r){if(t.editor.inMultiSelectMode&&(t.getAccelKey()||t.getShiftKey()))return;this.mousedownEvent.time=Date.now();var u=t.domEvent.target||t.domEvent.srcElement;if("unselectable"in u&&(u.unselectable="on"),e.getDragDelay()){if(d.isWebKit){this.cancelDrag=!0;var f=e.container;f.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(t,this.onMouseDrag.bind(this)),t.defaultPrevented=!0}}}}).call(i.prototype);function n(t,e,r,l){return Math.sqrt(Math.pow(r-t,2)+Math.pow(l-e,2))}y.DragdropHandler=i});ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(g,y,R){"use strict";var $=g("./mouse_event").MouseEvent,w=g("../lib/event"),d=g("../lib/dom");y.addTouchListeners=function(s,a){var o="scroll",i,n,t,e,r,l,c=0,u,f=0,p=0,b=0,k,v;function A(){var m=window.navigator&&window.navigator.clipboard,h=!1,S=function(){var I=a.getCopyText(),D=a.session.getUndoManager().hasUndo();v.replaceChild(d.buildDom(h?["span",!I&&L("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],I&&L("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],I&&L("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],m&&L("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],D&&L("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],L("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],L("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),v.firstChild)},L=function(I){return a.commands.canExecute(I,a)},T=function(I){var D=I.target.getAttribute("action");if(D=="more"||!h)return h=!h,S();D=="paste"?m.readText().then(function(O){a.execCommand(D,O)}):D&&((D=="cut"||D=="copy")&&(m?m.writeText(a.getCopyText()):document.execCommand("copy")),a.execCommand(D)),v.firstChild.style.display="none",h=!1,D!="openCommandPalette"&&a.focus()};v=d.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(I){o="menu",I.stopPropagation(),I.preventDefault(),a.textInput.focus()},ontouchend:function(I){I.stopPropagation(),I.preventDefault(),T(I)},onclick:T},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],a.container)}function M(){if(!a.getOption("enableMobileMenu")){v&&E();return}v||A();var m=a.selection.cursor,h=a.renderer.textToScreenCoordinates(m.row,m.column),S=a.renderer.textToScreenCoordinates(0,0).pageX,L=a.renderer.scrollLeft,T=a.container.getBoundingClientRect();v.style.top=h.pageY-T.top-3+"px",h.pageX-T.left<T.width-70?(v.style.left="",v.style.right="10px"):(v.style.right="",v.style.left=S+L-T.left+"px"),v.style.display="",v.firstChild.style.display="none",a.on("input",E)}function E(m){v&&(v.style.display="none"),a.off("input",E)}function _(){r=null,clearTimeout(r);var m=a.selection.getRange(),h=m.contains(u.row,u.column);(m.isEmpty()||!h)&&(a.selection.moveToPosition(u),a.selection.selectWord()),o="wait",M()}function C(){r=null,clearTimeout(r),a.selection.moveToPosition(u);var m=f>=2?a.selection.getLineRange(u.row):a.session.getBracketRange(u);m&&!m.isEmpty()?a.selection.setRange(m):a.selection.selectWord(),o="wait"}w.addListener(s,"contextmenu",function(m){if(k){var h=a.textInput.getElement();h.focus()}},a),w.addListener(s,"touchstart",function(m){var h=m.touches;if(r||h.length>1){clearTimeout(r),r=null,t=-1,o="zoom";return}k=a.$mouseHandler.isMousePressed=!0;var S=a.renderer.layerConfig.lineHeight,L=a.renderer.layerConfig.lineHeight,T=m.timeStamp;e=T;var I=h[0],D=I.clientX,O=I.clientY;Math.abs(i-D)+Math.abs(n-O)>S&&(t=-1),i=m.clientX=D,n=m.clientY=O,p=b=0;var N=new $(m,a);if(u=N.getDocumentPosition(),T-t<500&&h.length==1&&!c)f++,m.preventDefault(),m.button=0,C();else{f=0;var F=a.selection.cursor,W=a.selection.isEmpty()?F:a.selection.anchor,B=a.renderer.$cursorLayer.getPixelPosition(F,!0),H=a.renderer.$cursorLayer.getPixelPosition(W,!0),z=a.renderer.scroller.getBoundingClientRect(),U=a.renderer.layerConfig.offset,j=a.renderer.scrollLeft,P=function(Y,Q){return Y=Y/L,Q=Q/S-.75,Y*Y+Q*Q};if(m.clientX<z.left){o="zoom";return}var G=P(m.clientX-z.left-B.left+j,m.clientY-z.top-B.top+U),V=P(m.clientX-z.left-H.left+j,m.clientY-z.top-H.top+U);G<3.5&&V<3.5&&(o=G>V?"cursor":"anchor"),V<3.5?o="anchor":G<3.5?o="cursor":o="scroll",r=setTimeout(_,450)}t=T},a),w.addListener(s,"touchend",function(m){k=a.$mouseHandler.isMousePressed=!1,l&&clearInterval(l),o=="zoom"?(o="",c=0):r?(a.selection.moveToPosition(u),c=0,M()):o=="scroll"?(x(),E()):M(),clearTimeout(r),r=null},a),w.addListener(s,"touchmove",function(m){r&&(clearTimeout(r),r=null);var h=m.touches;if(!(h.length>1||o=="zoom")){var S=h[0],L=i-S.clientX,T=n-S.clientY;if(o=="wait")if(L*L+T*T>4)o="cursor";else return m.preventDefault();i=S.clientX,n=S.clientY,m.clientX=S.clientX,m.clientY=S.clientY;var I=m.timeStamp,D=I-e;if(e=I,o=="scroll"){var O=new $(m,a);O.speed=1,O.wheelX=L,O.wheelY=T,10*Math.abs(L)<Math.abs(T)&&(L=0),10*Math.abs(T)<Math.abs(L)&&(T=0),D!=0&&(p=L/D,b=T/D),a._emit("mousewheel",O),O.propagationStopped||(p=b=0)}else{var N=new $(m,a),F=N.getDocumentPosition();o=="cursor"?a.selection.moveCursorToPosition(F):o=="anchor"&&a.selection.setSelectionAnchor(F.row,F.column),a.renderer.scrollCursorIntoView(F),m.preventDefault()}}},a);function x(){c+=60,l=setInterval(function(){c--<=0&&(clearInterval(l),l=null),Math.abs(p)<.01&&(p=0),Math.abs(b)<.01&&(b=0),c<20&&(p=.9*p),c<20&&(b=.9*b);var m=a.session.getScrollTop();a.renderer.scrollBy(10*p,10*b),m==a.session.getScrollTop()&&(c=0)},10)}}});ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(g,y,R){"use strict";var $=g("../lib/event"),w=g("../lib/useragent"),d=g("./default_handlers").DefaultHandlers,s=g("./default_gutter_handler").GutterHandler,a=g("./mouse_event").MouseEvent,o=g("./dragdrop_handler").DragdropHandler,i=g("./touch_handler").addTouchListeners,n=g("../config"),t=function(){function e(r){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var l=this;this.editor=r,new d(this),new s(this),new o(this);var c=function(p){var b=!document.hasFocus||!document.hasFocus()||!r.isFocused()&&document.activeElement==(r.textInput&&r.textInput.getElement());b&&window.focus(),r.focus(),setTimeout(function(){r.isFocused()||r.focus()})},u=r.renderer.getMouseEventTarget();$.addListener(u,"click",this.onMouseEvent.bind(this,"click"),r),$.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove"),r),$.addMultiMouseDownListener([u,r.renderer.scrollBarV&&r.renderer.scrollBarV.inner,r.renderer.scrollBarH&&r.renderer.scrollBarH.inner,r.textInput&&r.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",r),$.addMouseWheelListener(r.container,this.onMouseWheel.bind(this,"mousewheel"),r),i(r.container,r);var f=r.renderer.$gutter;$.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),r),$.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick"),r),$.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),r),$.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),r),$.addListener(u,"mousedown",c,r),$.addListener(f,"mousedown",c,r),w.isIE&&r.renderer.scrollBarV&&($.addListener(r.renderer.scrollBarV.element,"mousedown",c,r),$.addListener(r.renderer.scrollBarH.element,"mousedown",c,r)),r.on("mousemove",function(p){if(!(l.state||l.$dragDelay||!l.$dragEnabled)){var b=r.renderer.screenToTextCoordinates(p.x,p.y),k=r.session.selection.getRange(),v=r.renderer;!k.isEmpty()&&k.insideStart(b.row,b.column)?v.setCursorStyle("default"):v.setCursorStyle("")}},r)}return e.prototype.onMouseEvent=function(r,l){this.editor.session&&this.editor._emit(r,new a(l,this.editor))},e.prototype.onMouseMove=function(r,l){var c=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!c||!c.length||this.editor._emit(r,new a(l,this.editor))},e.prototype.onMouseWheel=function(r,l){var c=new a(l,this.editor);c.speed=this.$scrollSpeed*2,c.wheelX=l.wheelX,c.wheelY=l.wheelY,this.editor._emit(r,c)},e.prototype.setState=function(r){this.state=r},e.prototype.captureMouse=function(r,l){this.x=r.x,this.y=r.y,this.isMousePressed=!0;var c=this.editor,u=this.editor.renderer;u.$isMousePressed=!0;var f=this,p=!0,b=function(E){if(E){if(w.isWebKit&&!E.which&&f.releaseMouse)return f.releaseMouse();f.x=E.clientX,f.y=E.clientY,l&&l(E),f.mouseEvent=new a(E,f.editor),f.$mouseMoved=!0}},k=function(E){c.off("beforeEndOperation",M),p=!1,c.session&&v(),f[f.state+"End"]&&f[f.state+"End"](E),f.state="",f.isMousePressed=u.$isMousePressed=!1,u.$keepTextAreaAtCursor&&u.$moveTextAreaToCursor(),f.$onCaptureMouseMove=f.releaseMouse=null,E&&f.onMouseEvent("mouseup",E),c.endOperation()},v=function(){f[f.state]&&f[f.state](),f.$mouseMoved=!1},A=function(){p&&(v(),$.nextFrame(A))};if(w.isOldIE&&r.domEvent.type=="dblclick")return setTimeout(function(){k(r)});var M=function(E){f.releaseMouse&&c.curOp.command.name&&c.curOp.selectionChanged&&(f[f.state+"End"]&&f[f.state+"End"](),f.state="",f.releaseMouse())};c.on("beforeEndOperation",M),c.startOperation({command:{name:"mouse"}}),f.$onCaptureMouseMove=b,f.releaseMouse=$.capture(this.editor.container,b,k),A()},e.prototype.cancelContextMenu=function(){var r=function(l){l&&l.domEvent&&l.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",r),l&&l.domEvent&&$.stopEvent(l.domEvent))}.bind(this);setTimeout(r,10),this.editor.on("nativecontextmenu",r)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse(),this.$tooltip&&this.$tooltip.destroy()},e}();t.prototype.releaseMouse=null,n.defineOptions(t.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:w.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0}}),y.MouseHandler=t});ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(g,y,R){"use strict";var $=g("../lib/dom"),w=function(){function d(s){s.on("click",function(a){var o=a.getDocumentPosition(),i=s.session,n=i.getFoldAt(o.row,o.column,1);n&&(a.getAccelKey()?i.removeFold(n):i.expandFold(n),a.stop());var t=a.domEvent&&a.domEvent.target;t&&$.hasCssClass(t,"ace_inline_button")&&$.hasCssClass(t,"ace_toggle_wrap")&&(i.setOption("wrap",!i.getUseWrapMode()),s.renderer.scrollCursorIntoView())}),s.on("gutterclick",function(a){var o=s.renderer.$gutterLayer.getRegion(a);if(o=="foldWidgets"){var i=a.getDocumentPosition().row,n=s.session;n.foldWidgets&&n.foldWidgets[i]&&s.session.onFoldWidgetClick(i,a),s.isFocused()||s.focus(),a.stop()}}),s.on("gutterdblclick",function(a){var o=s.renderer.$gutterLayer.getRegion(a);if(o=="foldWidgets"){var i=a.getDocumentPosition().row,n=s.session,t=n.getParentFoldRangeData(i,!0),e=t.range||t.firstRange;if(e){i=e.start.row;var r=n.getFoldAt(i,n.getLine(i).length,1);r?n.removeFold(r):(n.addFold("...",e),s.renderer.scrollCursorIntoView({row:e.start.row,column:0}))}a.stop()}})}return d}();y.FoldHandler=w});ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(g,y,R){"use strict";var $=g("../lib/keys"),w=g("../lib/event"),d=function(){function s(a){this.$editor=a,this.$data={editor:a},this.$handlers=[],this.setDefaultHandler(a.commands)}return s.prototype.setDefaultHandler=function(a){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=a,this.addKeyboardHandler(a,0)},s.prototype.setKeyboardHandler=function(a){var o=this.$handlers;if(o[o.length-1]!=a){for(;o[o.length-1]&&o[o.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(o[o.length-1]);this.addKeyboardHandler(a,1)}},s.prototype.addKeyboardHandler=function(a,o){if(a){typeof a=="function"&&!a.handleKeyboard&&(a.handleKeyboard=a);var i=this.$handlers.indexOf(a);i!=-1&&this.$handlers.splice(i,1),o==null?this.$handlers.push(a):this.$handlers.splice(o,0,a),i==-1&&a.attach&&a.attach(this.$editor)}},s.prototype.removeKeyboardHandler=function(a){var o=this.$handlers.indexOf(a);return o==-1?!1:(this.$handlers.splice(o,1),a.detach&&a.detach(this.$editor),!0)},s.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},s.prototype.getStatusText=function(){var a=this.$data,o=a.editor;return this.$handlers.map(function(i){return i.getStatusText&&i.getStatusText(o,a)||""}).filter(Boolean).join(" ")},s.prototype.$callKeyboardHandlers=function(a,o,i,n){for(var t,e=!1,r=this.$editor.commands,l=this.$handlers.length;l--&&(t=this.$handlers[l].handleKeyboard(this.$data,a,o,i,n),!(!(!t||!t.command)&&(t.command=="null"?e=!0:e=r.exec(t.command,this.$editor,t.args,n),e&&n&&a!=-1&&t.passEvent!=!0&&t.command.passEvent!=!0&&w.stopEvent(n),e))););return!e&&a==-1&&(t={command:"insertstring"},e=r.exec("insertstring",this.$editor,o)),e&&this.$editor._signal&&this.$editor._signal("keyboardActivity",t),e},s.prototype.onCommandKey=function(a,o,i){var n=$.keyCodeToString(i);return this.$callKeyboardHandlers(o,n,i,a)},s.prototype.onTextInput=function(a){return this.$callKeyboardHandlers(-1,a)},s}();y.KeyBinding=d});ace.define("ace/lib/bidiutil",["require","exports","module"],function(g,y,R){"use strict";var $=["\u0621","\u0641"],w=["\u063A","\u064A"],d=0,s=0,a=!1,o=!1,i=!1,n=!1,t=!1,e=!1,r=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],l=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],c=0,u=1,f=0,p=1,b=2,k=3,v=4,A=5,M=6,E=7,_=8,C=9,x=10,m=11,h=12,S=13,L=14,T=15,I=16,D=17,O=18,N=[O,O,O,O,O,O,O,O,O,M,A,M,_,A,O,O,O,O,O,O,O,O,O,O,O,O,O,O,A,A,A,M,_,v,v,m,m,m,v,v,v,v,v,x,C,x,C,C,b,b,b,b,b,b,b,b,b,b,C,v,v,v,v,v,v,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,v,v,v,v,v,v,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,v,v,v,v,O,O,O,O,O,O,A,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,C,v,m,m,m,m,v,v,v,v,f,v,v,O,v,v,m,m,b,b,v,f,v,v,v,b,f,v,v,v,v,v],F=[_,_,_,_,_,_,_,_,_,_,_,O,O,O,f,p,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,_,A,S,L,T,I,D,C,m,m,m,m,m,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,C,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,_];function W(j,P,G,V){var Y=d?l:r,Q=null,X=null,K=null,J=0,ie=null,he=null,ne=-1,q=null,ee=null,We=[];if(!V)for(q=0,V=[];q<G;q++)V[q]=z(j[q]);for(s=d,a=!1,o=!1,i=!1,n=!1,ee=0;ee<G;ee++){if(Q=J,We[ee]=X=H(j,V,We,ee),J=Y[Q][X],ie=J&240,J&=15,P[ee]=K=Y[J][5],ie>0)if(ie==16){for(q=ne;q<ee;q++)P[q]=1;ne=-1}else ne=-1;if(he=Y[J][6],he)ne==-1&&(ne=ee);else if(ne>-1){for(q=ne;q<ee;q++)P[q]=K;ne=-1}V[ee]==A&&(P[ee]=0),s|=K}if(n){for(q=0;q<G;q++)if(V[q]==M){P[q]=d;for(var de=q-1;de>=0&&V[de]==_;de--)P[de]=d}}}function B(j,P,G){if(!(s<j)){if(j==1&&d==u&&!i){G.reverse();return}for(var V=G.length,Y=0,Q,X,K,J;Y<V;){if(P[Y]>=j){for(Q=Y+1;Q<V&&P[Q]>=j;)Q++;for(X=Y,K=Q-1;X<K;X++,K--)J=G[X],G[X]=G[K],G[K]=J;Y=Q}Y++}}}function H(j,P,G,V){var Y=P[V],Q,X,K,J;switch(Y){case f:case p:a=!1;case v:case k:return Y;case b:return a?k:b;case E:return a=!0,o=!0,p;case _:return v;case C:return V<1||V+1>=P.length||(Q=G[V-1])!=b&&Q!=k||(X=P[V+1])!=b&&X!=k?v:(a&&(X=k),X==Q?X:v);case x:return Q=V>0?G[V-1]:A,Q==b&&V+1<P.length&&P[V+1]==b?b:v;case m:if(V>0&&G[V-1]==b)return b;if(a)return v;for(J=V+1,K=P.length;J<K&&P[J]==m;)J++;return J<K&&P[J]==b?b:v;case h:for(K=P.length,J=V+1;J<K&&P[J]==h;)J++;if(J<K){var ie=j[V],he=ie>=1425&&ie<=2303||ie==64286;if(Q=P[J],he&&(Q==p||Q==E))return p}return V<1||(Q=P[V-1])==A?v:G[V-1];case A:return a=!1,i=!0,d;case M:return n=!0,v;case S:case L:case I:case D:case T:a=!1;case O:return v}}function z(j){var P=j.charCodeAt(0),G=P>>8;return G==0?P>191?f:N[P]:G==5?/[\u0591-\u05f4]/.test(j)?p:f:G==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(j)?h:/[\u0660-\u0669\u066b-\u066c]/.test(j)?k:P==1642?m:/[\u06f0-\u06f9]/.test(j)?b:E:G==32&&P<=8287?F[P&255]:G==254&&P>=65136?E:v}function U(j){return j>="\u064B"&&j<="\u0655"}y.L=f,y.R=p,y.EN=b,y.ON_R=3,y.AN=4,y.R_H=5,y.B=6,y.RLE=7,y.DOT="\xB7",y.doBidiReorder=function(j,P,G){if(j.length<2)return{};var V=j.split(""),Y=new Array(V.length),Q=new Array(V.length),X=[];d=G?u:c,W(V,X,V.length,P);for(var K=0;K<Y.length;Y[K]=K,K++);B(2,X,Y),B(1,X,Y);for(var K=0;K<Y.length-1;K++)P[K]===k?X[K]=y.AN:X[K]===p&&(P[K]>E&&P[K]<S||P[K]===v||P[K]===O)?X[K]=y.ON_R:K>0&&V[K-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(V[K])&&(X[K-1]=X[K]=y.R_H,K++);V[V.length-1]===y.DOT&&(X[V.length-1]=y.B),V[0]==="\u202B"&&(X[0]=y.RLE);for(var K=0;K<Y.length;K++)Q[K]=X[Y[K]];return{logicalFromVisual:Y,bidiLevels:Q}},y.hasBidiCharacters=function(j,P){for(var G=!1,V=0;V<j.length;V++)P[V]=z(j.charAt(V)),!G&&(P[V]==p||P[V]==E||P[V]==k)&&(G=!0);return G},y.getVisualFromLogicalIdx=function(j,P){for(var G=0;G<P.logicalFromVisual.length;G++)if(P.logicalFromVisual[G]==j)return G;return 0}});ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(g,y,R){"use strict";var $=g("./lib/bidiutil"),w=g("./lib/lang"),d=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,s=function(){function a(o){this.session=o,this.bidiMap={},this.currentRow=null,this.bidiUtil=$,this.charWidths=[],this.EOL="\xAC",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="\xB6",this.RLE="\u202B",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=d.test(o.getValue())}return a.prototype.isBidiRow=function(o,i,n){return this.seenBidi?(o!==this.currentRow&&(this.currentRow=o,this.updateRowLine(i,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},a.prototype.onChange=function(o){this.seenBidi?this.currentRow=null:o.action=="insert"&&d.test(o.lines.join(`
|
|
173
|
+
`))&&(this.seenBidi=!0,this.currentRow=null)},a.prototype.getDocumentRow=function(){var o=0,i=this.session.$screenRowCache;if(i.length){var n=this.session.$getRowCacheIndex(i,this.currentRow);n>=0&&(o=this.session.$docRowCache[n])}return o},a.prototype.getSplitIndex=function(){var o=0,i=this.session.$screenRowCache;if(i.length)for(var n,t=this.session.$getRowCacheIndex(i,this.currentRow);this.currentRow-o>0&&(n=this.session.$getRowCacheIndex(i,this.currentRow-o-1),n===t);)t=n,o++;else o=this.currentRow;return o},a.prototype.updateRowLine=function(o,i){o===void 0&&(o=this.getDocumentRow());var n=o===this.session.getLength()-1,t=n?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(o),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var e=this.session.$wrapData[o];e&&(i===void 0&&(i=this.getSplitIndex()),i>0&&e.length?(this.wrapIndent=e.indent,this.wrapOffset=this.wrapIndent*this.charWidths[$.L],this.line=i<e.length?this.line.substring(e[i-1],e[i]):this.line.substring(e[e.length-1])):this.line=this.line.substring(0,e[i]),i==e.length&&(this.line+=this.showInvisibles?t:$.DOT))}else this.line+=this.showInvisibles?t:$.DOT;var r=this.session,l=0,c;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(u,f){return u===" "||r.isFullWidth(u.charCodeAt(0))?(c=u===" "?r.getScreenTabSize(f+l):2,l+=c-1,w.stringRepeat($.DOT,c)):u}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==$.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},a.prototype.updateBidiMap=function(){var o=[];$.hasBidiCharacters(this.line,o)||this.isRtlDir?this.bidiMap=$.doBidiReorder(this.line,o,this.isRtlDir):this.bidiMap={}},a.prototype.markAsDirty=function(){this.currentRow=null},a.prototype.updateCharacterWidths=function(o){if(this.characterWidth!==o.$characterSize.width){this.fontMetrics=o;var i=this.characterWidth=o.$characterSize.width,n=o.$measureCharWidth("\u05D4");this.charWidths[$.L]=this.charWidths[$.EN]=this.charWidths[$.ON_R]=i,this.charWidths[$.R]=this.charWidths[$.AN]=n,this.charWidths[$.R_H]=n*.45,this.charWidths[$.B]=this.charWidths[$.RLE]=0,this.currentRow=null}},a.prototype.setShowInvisibles=function(o){this.showInvisibles=o,this.currentRow=null},a.prototype.setEolChar=function(o){this.EOL=o},a.prototype.setContentWidth=function(o){this.contentWidth=o},a.prototype.isRtlLine=function(o){return this.$isRtl?!0:o!=null?this.session.getLine(o).charAt(0)==this.RLE:this.isRtlDir},a.prototype.setRtlDirection=function(o,i){for(var n=o.getCursorPosition(),t=o.selection.getSelectionAnchor().row;t<=n.row;t++)!i&&o.session.getLine(t).charAt(0)===o.session.$bidiHandler.RLE?o.session.doc.removeInLine(t,0,1):i&&o.session.getLine(t).charAt(0)!==o.session.$bidiHandler.RLE&&o.session.doc.insert({column:0,row:t},o.session.$bidiHandler.RLE)},a.prototype.getPosLeft=function(o){o-=this.wrapIndent;var i=this.line.charAt(0)===this.RLE?1:0,n=o>i?this.session.getOverwrite()?o:o-1:i,t=$.getVisualFromLogicalIdx(n,this.bidiMap),e=this.bidiMap.bidiLevels,r=0;!this.session.getOverwrite()&&o<=i&&e[t]%2!==0&&t++;for(var l=0;l<t;l++)r+=this.charWidths[e[l]];return!this.session.getOverwrite()&&o>i&&e[t]%2===0&&(r+=this.charWidths[e[t]]),this.wrapIndent&&(r+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(r+=this.rtlLineOffset),r},a.prototype.getSelections=function(o,i){var n=this.bidiMap,t=n.bidiLevels,e,r=[],l=0,c=Math.min(o,i)-this.wrapIndent,u=Math.max(o,i)-this.wrapIndent,f=!1,p=!1,b=0;this.wrapIndent&&(l+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var k,v=0;v<t.length;v++)k=n.logicalFromVisual[v],e=t[v],f=k>=c&&k<u,f&&!p?b=l:!f&&p&&r.push({left:b,width:l-b}),l+=this.charWidths[e],p=f;if(f&&v===t.length&&r.push({left:b,width:l-b}),this.isRtlDir)for(var A=0;A<r.length;A++)r[A].left+=this.rtlLineOffset;return r},a.prototype.offsetToCol=function(n){this.isRtlDir&&(n-=this.rtlLineOffset);var i=0,n=Math.max(n,0),t=0,e=0,r=this.bidiMap.bidiLevels,l=this.charWidths[r[e]];for(this.wrapIndent&&(n-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);n>t+l/2;){if(t+=l,e===r.length-1){l=0;break}l=this.charWidths[r[++e]]}return e>0&&r[e-1]%2!==0&&r[e]%2===0?(n<t&&e--,i=this.bidiMap.logicalFromVisual[e]):e>0&&r[e-1]%2===0&&r[e]%2!==0?i=1+(n>t?this.bidiMap.logicalFromVisual[e]:this.bidiMap.logicalFromVisual[e-1]):this.isRtlDir&&e===r.length-1&&l===0&&r[e-1]%2===0||!this.isRtlDir&&e===0&&r[e]%2!==0?i=1+this.bidiMap.logicalFromVisual[e]:(e>0&&r[e-1]%2!==0&&l!==0&&e--,i=this.bidiMap.logicalFromVisual[e]),i===0&&this.isRtlDir&&i++,i+this.wrapIndent},a}();y.BidiHandler=s});ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(g,y,R){"use strict";var $=g("./lib/oop"),w=g("./lib/lang"),d=g("./lib/event_emitter").EventEmitter,s=g("./range").Range,a=function(){function o(i){this.session=i,this.doc=i.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var n=this;this.cursor.on("change",function(t){n.$cursorChanged=!0,n.$silent||n._emit("changeCursor"),!n.$isEmpty&&!n.$silent&&n._emit("changeSelection"),!n.$keepDesiredColumnOnChange&&t.old.column!=t.value.column&&(n.$desiredColumn=null)}),this.anchor.on("change",function(){n.$anchorChanged=!0,!n.$isEmpty&&!n.$silent&&n._emit("changeSelection")})}return o.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},o.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},o.prototype.getCursor=function(){return this.lead.getPosition()},o.prototype.setAnchor=function(i,n){this.$isEmpty=!1,this.anchor.setPosition(i,n)},o.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},o.prototype.getSelectionLead=function(){return this.lead.getPosition()},o.prototype.isBackwards=function(){var i=this.anchor,n=this.lead;return i.row>n.row||i.row==n.row&&i.column>n.column},o.prototype.getRange=function(){var i=this.anchor,n=this.lead;return this.$isEmpty?s.fromPoints(n,n):this.isBackwards()?s.fromPoints(n,i):s.fromPoints(i,n)},o.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},o.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},o.prototype.setRange=function(i,n){var t=n?i.end:i.start,e=n?i.start:i.end;this.$setSelection(t.row,t.column,e.row,e.column)},o.prototype.$setSelection=function(i,n,t,e){if(!this.$silent){var r=this.$isEmpty,l=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(i,n),this.cursor.setPosition(t,e),this.$isEmpty=!s.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||r!=this.$isEmpty||l)&&this._emit("changeSelection")}},o.prototype.$moveSelection=function(i){var n=this.lead;this.$isEmpty&&this.setSelectionAnchor(n.row,n.column),i.call(this)},o.prototype.selectTo=function(i,n){this.$moveSelection(function(){this.moveCursorTo(i,n)})},o.prototype.selectToPosition=function(i){this.$moveSelection(function(){this.moveCursorToPosition(i)})},o.prototype.moveTo=function(i,n){this.clearSelection(),this.moveCursorTo(i,n)},o.prototype.moveToPosition=function(i){this.clearSelection(),this.moveCursorToPosition(i)},o.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},o.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},o.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},o.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},o.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},o.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},o.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},o.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},o.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},o.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},o.prototype.getWordRange=function(i,n){if(typeof n>"u"){var t=i||this.lead;i=t.row,n=t.column}return this.session.getWordRange(i,n)},o.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},o.prototype.selectAWord=function(){var i=this.getCursor(),n=this.session.getAWordRange(i.row,i.column);this.setSelectionRange(n)},o.prototype.getLineRange=function(i,n){var t=typeof i=="number"?i:this.lead.row,e,r=this.session.getFoldLine(t);return r?(t=r.start.row,e=r.end.row):e=t,n===!0?new s(t,0,e,this.session.getLine(e).length):new s(t,0,e+1,0)},o.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},o.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},o.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},o.prototype.wouldMoveIntoSoftTab=function(i,n,t){var e=i.column,r=i.column+n;return t<0&&(e=i.column-n,r=i.column),this.session.isTabStop(i)&&this.doc.getLine(i.row).slice(e,r).split(" ").length-1==n},o.prototype.moveCursorLeft=function(){var i=this.lead.getPosition(),n;if(n=this.session.getFoldAt(i.row,i.column,-1))this.moveCursorTo(n.start.row,n.start.column);else if(i.column===0)i.row>0&&this.moveCursorTo(i.row-1,this.doc.getLine(i.row-1).length);else{var t=this.session.getTabSize();this.wouldMoveIntoSoftTab(i,t,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-t):this.moveCursorBy(0,-1)}},o.prototype.moveCursorRight=function(){var i=this.lead.getPosition(),n;if(n=this.session.getFoldAt(i.row,i.column,1))this.moveCursorTo(n.end.row,n.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var t=this.session.getTabSize(),i=this.lead;this.wouldMoveIntoSoftTab(i,t,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,t):this.moveCursorBy(0,1)}},o.prototype.moveCursorLineStart=function(){var i=this.lead.row,n=this.lead.column,t=this.session.documentToScreenRow(i,n),e=this.session.screenToDocumentPosition(t,0),r=this.session.getDisplayLine(i,null,e.row,e.column),l=r.match(/^\s*/);l[0].length!=n&&!this.session.$useEmacsStyleLineStart&&(e.column+=l[0].length),this.moveCursorToPosition(e)},o.prototype.moveCursorLineEnd=function(){var i=this.lead,n=this.session.getDocumentLastRowColumnPosition(i.row,i.column);if(this.lead.column==n.column){var t=this.session.getLine(n.row);if(n.column==t.length){var e=t.search(/\s+$/);e>0&&(n.column=e)}}this.moveCursorTo(n.row,n.column)},o.prototype.moveCursorFileEnd=function(){var i=this.doc.getLength()-1,n=this.doc.getLine(i).length;this.moveCursorTo(i,n)},o.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},o.prototype.moveCursorLongWordRight=function(){var i=this.lead.row,n=this.lead.column,t=this.doc.getLine(i),e=t.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var r=this.session.getFoldAt(i,n,1);if(r){this.moveCursorTo(r.end.row,r.end.column);return}if(this.session.nonTokenRe.exec(e)&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,e=t.substring(n)),n>=t.length){this.moveCursorTo(i,t.length),this.moveCursorRight(),i<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(e)&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(i,n)},o.prototype.moveCursorLongWordLeft=function(){var i=this.lead.row,n=this.lead.column,t;if(t=this.session.getFoldAt(i,n,-1)){this.moveCursorTo(t.start.row,t.start.column);return}var e=this.session.getFoldStringAt(i,n,-1);e==null&&(e=this.doc.getLine(i).substring(0,n));var r=w.stringReverse(e);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(r)&&(n-=this.session.nonTokenRe.lastIndex,r=r.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0){this.moveCursorTo(i,0),this.moveCursorLeft(),i>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(r)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(i,n)},o.prototype.$shortWordEndIndex=function(i){var n=0,t,e=/\s/,r=this.session.tokenRe;if(r.lastIndex=0,this.session.tokenRe.exec(i))n=this.session.tokenRe.lastIndex;else{for(;(t=i[n])&&e.test(t);)n++;if(n<1){for(r.lastIndex=0;(t=i[n])&&!r.test(t);)if(r.lastIndex=0,n++,e.test(t))if(n>2){n--;break}else{for(;(t=i[n])&&e.test(t);)n++;if(n>2)break}}}return r.lastIndex=0,n},o.prototype.moveCursorShortWordRight=function(){var i=this.lead.row,n=this.lead.column,t=this.doc.getLine(i),e=t.substring(n),r=this.session.getFoldAt(i,n,1);if(r)return this.moveCursorTo(r.end.row,r.end.column);if(n==t.length){var l=this.doc.getLength();do i++,e=this.doc.getLine(i);while(i<l&&/^\s*$/.test(e));/^\s+/.test(e)||(e=""),n=0}var c=this.$shortWordEndIndex(e);this.moveCursorTo(i,n+c)},o.prototype.moveCursorShortWordLeft=function(){var i=this.lead.row,n=this.lead.column,t;if(t=this.session.getFoldAt(i,n,-1))return this.moveCursorTo(t.start.row,t.start.column);var e=this.session.getLine(i).substring(0,n);if(n===0){do i--,e=this.doc.getLine(i);while(i>0&&/^\s*$/.test(e));n=e.length,/\s+$/.test(e)||(e="")}var r=w.stringReverse(e),l=this.$shortWordEndIndex(r);return this.moveCursorTo(i,n-l)},o.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},o.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},o.prototype.moveCursorBy=function(i,n){var t=this.session.documentToScreenPosition(this.lead.row,this.lead.column),e;if(n===0&&(i!==0&&(this.session.$bidiHandler.isBidiRow(t.row,this.lead.row)?(e=this.session.$bidiHandler.getPosLeft(t.column),t.column=Math.round(e/this.session.$bidiHandler.charWidths[0])):e=t.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?t.column=this.$desiredColumn:this.$desiredColumn=t.column),i!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var r=this.session.lineWidgets[this.lead.row];i<0?i-=r.rowsAbove||0:i>0&&(i+=r.rowCount-(r.rowsAbove||0))}var l=this.session.screenToDocumentPosition(t.row+i,t.column,e);i!==0&&n===0&&l.row===this.lead.row&&(l.column,this.lead.column),this.moveCursorTo(l.row,l.column+n,n===0)},o.prototype.moveCursorToPosition=function(i){this.moveCursorTo(i.row,i.column)},o.prototype.moveCursorTo=function(i,n,t){var e=this.session.getFoldAt(i,n,1);e&&(i=e.start.row,n=e.start.column),this.$keepDesiredColumnOnChange=!0;var r=this.session.getLine(i);/[\uDC00-\uDFFF]/.test(r.charAt(n))&&r.charAt(n-1)&&(this.lead.row==i&&this.lead.column==n+1?n=n-1:n=n+1),this.lead.setPosition(i,n),this.$keepDesiredColumnOnChange=!1,t||(this.$desiredColumn=null)},o.prototype.moveCursorToScreen=function(i,n,t){var e=this.session.screenToDocumentPosition(i,n);this.moveCursorTo(e.row,e.column,t)},o.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},o.prototype.fromOrientedRange=function(i){this.setSelectionRange(i,i.cursor==i.start),this.$desiredColumn=i.desiredColumn||this.$desiredColumn},o.prototype.toOrientedRange=function(i){var n=this.getRange();return i?(i.start.column=n.start.column,i.start.row=n.start.row,i.end.column=n.end.column,i.end.row=n.end.row):i=n,i.cursor=this.isBackwards()?i.start:i.end,i.desiredColumn=this.$desiredColumn,i},o.prototype.getRangeOfMovements=function(i){var n=this.getCursor();try{i(this);var t=this.getCursor();return s.fromPoints(n,t)}catch{return s.fromPoints(n,n)}finally{this.moveCursorToPosition(n)}},o.prototype.toJSON=function(){if(this.rangeCount)var i=this.ranges.map(function(n){var t=n.clone();return t.isBackwards=n.cursor==n.start,t});else{var i=this.getRange();i.isBackwards=this.isBackwards()}return i},o.prototype.fromJSON=function(i){if(i.start==null)if(this.rangeList&&i.length>1){this.toSingleRange(i[0]);for(var n=i.length;n--;){var t=s.fromPoints(i[n].start,i[n].end);i[n].isBackwards&&(t.cursor=t.start),this.addRange(t,!0)}return}else i=i[0];this.rangeList&&this.toSingleRange(i),this.setSelectionRange(i,i.isBackwards)},o.prototype.isEqual=function(i){if((i.length||this.rangeCount)&&i.length!=this.rangeCount)return!1;if(!i.length||!this.ranges)return this.getRange().isEqual(i);for(var n=this.ranges.length;n--;)if(!this.ranges[n].isEqual(i[n]))return!1;return!0},o}();a.prototype.setSelectionAnchor=a.prototype.setAnchor,a.prototype.getSelectionAnchor=a.prototype.getAnchor,a.prototype.setSelectionRange=a.prototype.setRange,$.implement(a.prototype,d),y.Selection=a});ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(g,y,R){"use strict";var $=g("./lib/report_error").reportError,w=2e3,d=function(){function s(a){this.splitRegex,this.states=a,this.regExps={},this.matchMappings={};for(var o in this.states){for(var i=this.states[o],n=[],t=0,e=this.matchMappings[o]={defaultToken:"text"},r="g",l=[],c=0;c<i.length;c++){var u=i[c];if(u.defaultToken&&(e.defaultToken=u.defaultToken),u.caseInsensitive&&r.indexOf("i")===-1&&(r+="i"),u.unicode&&r.indexOf("u")===-1&&(r+="u"),u.regex!=null){u.regex instanceof RegExp&&(u.regex=u.regex.toString().slice(1,-1));var f=u.regex,p=new RegExp("(?:("+f+")|(.))").exec("a").length-2;Array.isArray(u.token)?u.token.length==1||p==1?u.token=u.token[0]:p-1!=u.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:u,groupCount:p-1}),u.token=u.token[0]):(u.tokenArray=u.token,u.token=null,u.onMatch=this.$arrayTokens):typeof u.token=="function"&&!u.onMatch&&(p>1?u.onMatch=this.$applyToken:u.onMatch=u.token),p>1&&(/\\\d/.test(u.regex)?f=u.regex.replace(/\\([0-9]+)/g,function(b,k){return"\\"+(parseInt(k,10)+t+1)}):(p=1,f=this.removeCapturingGroups(u.regex)),!u.splitRegex&&typeof u.token!="string"&&l.push(u)),e[t]=c,t+=p,n.push(f),u.onMatch||(u.onMatch=null)}}n.length||(e[0]=0,n.push("$")),l.forEach(function(b){b.splitRegex=this.createSplitterRegexp(b.regex,r)},this),this.regExps[o]=new RegExp("("+n.join(")|(")+")|($)",r)}}return s.prototype.$setMaxTokenCount=function(a){w=a|0},s.prototype.$applyToken=function(a){var o=this.splitRegex.exec(a).slice(1),i=this.token.apply(this,o);if(typeof i=="string")return[{type:i,value:a}];for(var n=[],t=0,e=i.length;t<e;t++)o[t]&&(n[n.length]={type:i[t],value:o[t]});return n},s.prototype.$arrayTokens=function(a){if(!a)return[];var o=this.splitRegex.exec(a);if(!o)return"text";for(var i=[],n=this.tokenArray,t=0,e=n.length;t<e;t++)o[t+1]&&(i[i.length]={type:n[t],value:o[t+1]});return i},s.prototype.removeCapturingGroups=function(a){var o=a.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(i,n){return n?"(?:":i});return o},s.prototype.createSplitterRegexp=function(a,o){if(a.indexOf("(?=")!=-1){var i=0,n=!1,t={};a.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,r,l,c,u,f){return n?n=u!="]":u?n=!0:c?(i==t.stack&&(t.end=f+1,t.stack=-1),i--):l&&(i++,l.length!=1&&(t.stack=i,t.start=f)),e}),t.end!=null&&/^\)*$/.test(a.substr(t.end))&&(a=a.substring(0,t.start)+a.substr(t.end))}return a.charAt(0)!="^"&&(a="^"+a),a.charAt(a.length-1)!="$"&&(a+="$"),new RegExp(a,(o||"").replace("g",""))},s.prototype.getLineTokens=function(a,o){if(o&&typeof o!="string"){var i=o.slice(0);o=i[0],o==="#tmp"&&(i.shift(),o=i.shift())}else var i=[];var n=o||"start",t=this.states[n];t||(n="start",t=this.states[n]);var e=this.matchMappings[n],r=this.regExps[n];r.lastIndex=0;for(var l,c=[],u=0,f=0,p={type:null,value:""};l=r.exec(a);){var b=e.defaultToken,k=null,v=l[0],A=r.lastIndex;if(A-v.length>u){var M=a.substring(u,A-v.length);p.type==b?p.value+=M:(p.type&&c.push(p),p={type:b,value:M})}for(var E=0;E<l.length-2;E++)if(l[E+1]!==void 0){k=t[e[E]],k.onMatch?b=k.onMatch(v,n,i,a):b=k.token,k.next&&(typeof k.next=="string"?n=k.next:n=k.next(n,i),t=this.states[n],t||(this.reportError("state doesn't exist",n),n="start",t=this.states[n]),e=this.matchMappings[n],u=A,r=this.regExps[n],r.lastIndex=A),k.consumeLineEnd&&(u=A);break}if(v){if(typeof b=="string")(!k||k.merge!==!1)&&p.type===b?p.value+=v:(p.type&&c.push(p),p={type:b,value:v});else if(b){p.type&&c.push(p),p={type:null,value:""};for(var E=0;E<b.length;E++)c.push(b[E])}}if(u==a.length)break;if(u=A,f++>w){for(f>2*a.length&&this.reportError("infinite loop with in ace tokenizer",{startState:o,line:a});u<a.length;)p.type&&c.push(p),p={value:a.substring(u,u+=500),type:"overflow"};n="start",i=[];break}}return p.type&&c.push(p),i.length>1&&i[0]!==n&&i.unshift("#tmp",n),{tokens:c,state:i.length?i:n}},s}();d.prototype.reportError=$,y.Tokenizer=d});ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(g,y,R){"use strict";var $=g("../lib/deep_copy").deepCopy,w;w=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},function(){this.addRules=function(a,o){if(!o){for(var i in a)this.$rules[i]=a[i];return}for(var i in a){for(var n=a[i],t=0;t<n.length;t++){var e=n[t];(e.next||e.onMatch)&&(typeof e.next=="string"&&e.next.indexOf(o)!==0&&(e.next=o+e.next),e.nextState&&e.nextState.indexOf(o)!==0&&(e.nextState=o+e.nextState))}this.$rules[o+i]=n}},this.getRules=function(){return this.$rules},this.embedRules=function(a,o,i,n,t){var e=typeof a=="function"?new a().getRules():a;if(n)for(var r=0;r<n.length;r++)n[r]=o+n[r];else{n=[];for(var l in e)n.push(o+l)}if(this.addRules(e,o),i)for(var c=Array.prototype[t?"push":"unshift"],r=0;r<n.length;r++)c.apply(this.$rules[n[r]],$(i));this.$embeds||(this.$embeds=[]),this.$embeds.push(o)},this.getEmbeds=function(){return this.$embeds};var d=function(a,o){return(a!="start"||o.length)&&o.unshift(this.nextState,a),this.nextState},s=function(a,o){return o.shift(),o.shift()||"start"};this.normalizeRules=function(){var a=0,o=this.$rules;function i(n){var t=o[n];t.processed=!0;for(var e=0;e<t.length;e++){var r=t[e],l=null;Array.isArray(r)&&(l=r,r={}),!r.regex&&r.start&&(r.regex=r.start,r.next||(r.next=[]),r.next.push({defaultToken:r.token},{token:r.token+".end",regex:r.end||r.start,next:"pop"}),r.token=r.token+".start",r.push=!0);var c=r.next||r.push;if(c&&Array.isArray(c)){var u=r.stateName;u||(u=r.token,typeof u!="string"&&(u=u[0]||""),o[u]&&(u+=a++)),o[u]=c,r.next=u,i(u)}else c=="pop"&&(r.next=s);if(r.push&&(r.nextState=r.next||r.push,r.next=d,delete r.push),r.rules)for(var f in r.rules)o[f]?o[f].push&&o[f].push.apply(o[f],r.rules[f]):o[f]=r.rules[f];var p=typeof r=="string"?r:r.include;if(p&&(p==="$self"&&(p="start"),Array.isArray(p)?l=p.map(function(k){return o[k]}):l=o[p]),l){var b=[e,1].concat(l);r.noEscape&&(b=b.filter(function(k){return!k.next})),t.splice.apply(t,b),e--}r.keywordMap&&(r.token=this.createKeywordMapper(r.keywordMap,r.defaultToken||"text",r.caseInsensitive),delete r.defaultToken)}}Object.keys(o).forEach(i,this)},this.createKeywordMapper=function(a,o,i,n){var t=Object.create(null);return this.$keywordList=[],Object.keys(a).forEach(function(e){for(var r=a[e],l=r.split(n||"|"),c=l.length;c--;){var u=l[c];this.$keywordList.push(u),i&&(u=u.toLowerCase()),t[u]=e}},this),a=null,i?function(e){return t[e.toLowerCase()]||o}:function(e){return t[e]||o}},this.getKeywords=function(){return this.$keywords}}.call(w.prototype),y.TextHighlightRules=w});ace.define("ace/mode/behaviour",["require","exports","module"],function(g,y,R){"use strict";var $;$=function(){this.$behaviours={}},function(){this.add=function(w,d,s){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[w]:this.$behaviours[w]={}}this.$behaviours[w][d]=s},this.addBehaviours=function(w){for(var d in w)for(var s in w[d])this.add(d,s,w[d][s])},this.remove=function(w){this.$behaviours&&this.$behaviours[w]&&delete this.$behaviours[w]},this.inherit=function(w,d){if(typeof w=="function")var s=new w().getBehaviours(d);else var s=w.getBehaviours(d);this.addBehaviours(s)},this.getBehaviours=function(w){if(w){for(var d={},s=0;s<w.length;s++)this.$behaviours[w[s]]&&(d[w[s]]=this.$behaviours[w[s]]);return d}else return this.$behaviours}}.call($.prototype),y.Behaviour=$});ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=g("./range").Range,w=function(){function d(s,a,o){this.$session=s,this.$row=a,this.$rowTokens=s.getTokens(a);var i=s.getTokenAt(a,o);this.$tokenIndex=i?i.index:-1}return d.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},d.prototype.stepForward=function(){this.$tokenIndex+=1;for(var s;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,s||(s=this.$session.getLength()),this.$row>=s)return this.$row=s-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},d.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},d.prototype.getCurrentTokenRow=function(){return this.$row},d.prototype.getCurrentTokenColumn=function(){var s=this.$rowTokens,a=this.$tokenIndex,o=s[a].start;if(o!==void 0)return o;for(o=0;a>0;)a-=1,o+=s[a].value.length;return o},d.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},d.prototype.getCurrentTokenRange=function(){var s=this.$rowTokens[this.$tokenIndex],a=this.getCurrentTokenColumn();return new $(this.$row,a,this.$row,a+s.value.length)},d}();y.TokenIterator=w});ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../behaviour").Behaviour,d=g("../../token_iterator").TokenIterator,s=g("../../lib/lang"),a=["text","paren.rparen","rparen","paren","punctuation.operator"],o=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],i,n={},t={'"':'"',"'":"'"},e=function(c){var u=-1;if(c.multiSelect&&(u=c.selection.index,n.rangeCount!=c.multiSelect.rangeCount&&(n={rangeCount:c.multiSelect.rangeCount})),n[u])return i=n[u];i=n[u]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},r=function(c,u,f,p){var b=c.end.row-c.start.row;return{text:f+u+p,selection:[0,c.start.column+1,b,c.end.column+(b?0:1)]}},l;l=function(c){c=c||{},this.add("braces","insertion",function(u,f,p,b,k){var v=p.getCursorPosition(),A=b.doc.getLine(v.row);if(k=="{"){e(p);var M=p.getSelectionRange(),E=b.doc.getTextRange(M),_=b.getTokenAt(v.row,v.column);if(E!==""&&E!=="{"&&p.getWrapBehavioursEnabled())return r(M,E,"{","}");if(_&&/(?:string)\.quasi|\.xml/.test(_.type)){var C=[/tag\-(?:open|name)/,/attribute\-name/];return C.some(function(I){return I.test(_.type)})||/(string)\.quasi/.test(_.type)&&_.value[v.column-_.start-1]!=="$"?void 0:(l.recordAutoInsert(p,b,"}"),{text:"{}",selection:[1,1]})}else if(l.isSaneInsertion(p,b))return/[\]\}\)]/.test(A[v.column])||p.inMultiSelectMode||c.braces?(l.recordAutoInsert(p,b,"}"),{text:"{}",selection:[1,1]}):(l.recordMaybeInsert(p,b,"{"),{text:"{",selection:[1,1]})}else if(k=="}"){e(p);var x=A.substring(v.column,v.column+1);if(x=="}"){var m=b.$findOpeningBracket("}",{column:v.column+1,row:v.row});if(m!==null&&l.isAutoInsertedClosing(v,A,k))return l.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(k==`
|
|
174
|
+
`||k==`\r
|
|
175
|
+
`){e(p);var h="";l.isMaybeInsertedClosing(v,A)&&(h=s.stringRepeat("}",i.maybeInsertedBrackets),l.clearMaybeInsertedClosing());var x=A.substring(v.column,v.column+1);if(x==="}"){var S=b.findMatchingBracket({row:v.row,column:v.column+1},"}");if(!S)return null;var L=this.$getIndent(b.getLine(S.row))}else if(h)var L=this.$getIndent(A);else{l.clearMaybeInsertedClosing();return}var T=L+b.getTabString();return{text:`
|
|
176
|
+
`+T+`
|
|
177
|
+
`+L+h,selection:[1,T.length,1,T.length]}}else l.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(u,f,p,b,k){var v=b.doc.getTextRange(k);if(!k.isMultiLine()&&v=="{"){e(p);var A=b.doc.getLine(k.start.row),M=A.substring(k.end.column,k.end.column+1);if(M=="}")return k.end.column++,k;i.maybeInsertedBrackets--}}),this.add("parens","insertion",function(u,f,p,b,k){if(k=="("){e(p);var v=p.getSelectionRange(),A=b.doc.getTextRange(v);if(A!==""&&p.getWrapBehavioursEnabled())return r(v,A,"(",")");if(l.isSaneInsertion(p,b))return l.recordAutoInsert(p,b,")"),{text:"()",selection:[1,1]}}else if(k==")"){e(p);var M=p.getCursorPosition(),E=b.doc.getLine(M.row),_=E.substring(M.column,M.column+1);if(_==")"){var C=b.$findOpeningBracket(")",{column:M.column+1,row:M.row});if(C!==null&&l.isAutoInsertedClosing(M,E,k))return l.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(u,f,p,b,k){var v=b.doc.getTextRange(k);if(!k.isMultiLine()&&v=="("){e(p);var A=b.doc.getLine(k.start.row),M=A.substring(k.start.column+1,k.start.column+2);if(M==")")return k.end.column++,k}}),this.add("brackets","insertion",function(u,f,p,b,k){if(k=="["){e(p);var v=p.getSelectionRange(),A=b.doc.getTextRange(v);if(A!==""&&p.getWrapBehavioursEnabled())return r(v,A,"[","]");if(l.isSaneInsertion(p,b))return l.recordAutoInsert(p,b,"]"),{text:"[]",selection:[1,1]}}else if(k=="]"){e(p);var M=p.getCursorPosition(),E=b.doc.getLine(M.row),_=E.substring(M.column,M.column+1);if(_=="]"){var C=b.$findOpeningBracket("]",{column:M.column+1,row:M.row});if(C!==null&&l.isAutoInsertedClosing(M,E,k))return l.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(u,f,p,b,k){var v=b.doc.getTextRange(k);if(!k.isMultiLine()&&v=="["){e(p);var A=b.doc.getLine(k.start.row),M=A.substring(k.start.column+1,k.start.column+2);if(M=="]")return k.end.column++,k}}),this.add("string_dquotes","insertion",function(u,f,p,b,k){var v=b.$mode.$quotes||t;if(k.length==1&&v[k]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(k)!=-1)return;e(p);var A=k,M=p.getSelectionRange(),E=b.doc.getTextRange(M);if(E!==""&&(E.length!=1||!v[E])&&p.getWrapBehavioursEnabled())return r(M,E,A,A);if(!E){var _=p.getCursorPosition(),C=b.doc.getLine(_.row),x=C.substring(_.column-1,_.column),m=C.substring(_.column,_.column+1),h=b.getTokenAt(_.row,_.column),S=b.getTokenAt(_.row,_.column+1);if(x=="\\"&&h&&/escape/.test(h.type))return null;var L=h&&/string|escape/.test(h.type),T=!S||/string|escape/.test(S.type),I;if(m==A)I=L!==T,I&&/string\.end/.test(S.type)&&(I=!1);else{if(L&&!T||L&&T)return null;var D=b.$mode.tokenRe;D.lastIndex=0;var O=D.test(x);D.lastIndex=0;var N=D.test(m),F=b.$mode.$pairQuotesAfter,W=F&&F[A]&&F[A].test(x);if(!W&&O||N||m&&!/[\s;,.})\]\\]/.test(m))return null;var B=C[_.column-2];if(x==A&&(B==A||D.test(B)))return null;I=!0}return{text:I?A+A:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(u,f,p,b,k){var v=b.$mode.$quotes||t,A=b.doc.getTextRange(k);if(!k.isMultiLine()&&v.hasOwnProperty(A)){e(p);var M=b.doc.getLine(k.start.row),E=M.substring(k.start.column+1,k.start.column+2);if(E==A)return k.end.column++,k}}),c.closeDocComment!==!1&&this.add("doc comment end","insertion",function(u,f,p,b,k){if(u==="doc-start"&&(k===`
|
|
178
|
+
`||k===`\r
|
|
179
|
+
`)&&p.selection.isEmpty()){var v=p.getCursorPosition();if(v.column===0)return;for(var A=b.doc.getLine(v.row),M=b.doc.getLine(v.row+1),E=b.getTokens(v.row),_=0,C=0;C<E.length;C++){_+=E[C].value.length;var x=E[C];if(_>=v.column){if(_===v.column){if(!/\.doc/.test(x.type))return;if(/\*\//.test(x.value)){var m=E[C+1];if(!m||!/\.doc/.test(m.type))return}}var h=v.column-(_-x.value.length),S=x.value.indexOf("*/"),L=x.value.indexOf("/**",S>-1?S+2:0);if(L!==-1&&h>L&&h<L+3||S!==-1&&L!==-1&&h>=S&&h<=L||!/\.doc/.test(x.type))return;break}}var T=this.$getIndent(A);if(/\s*\*/.test(M))return/^\s*\*/.test(A)?{text:k+T+"* ",selection:[1,2+T.length,1,2+T.length]}:{text:k+T+" * ",selection:[1,3+T.length,1,3+T.length]};if(/\/\*\*/.test(A.substring(0,v.column)))return{text:k+T+" * "+k+" "+T+"*/",selection:[1,4+T.length,1,4+T.length]}}})},l.isSaneInsertion=function(c,u){var f=c.getCursorPosition(),p=new d(u,f.row,f.column);if(!this.$matchTokenType(p.getCurrentToken()||"text",a)){if(/[)}\]]/.test(c.session.getLine(f.row)[f.column]))return!0;var b=new d(u,f.row,f.column+1);if(!this.$matchTokenType(b.getCurrentToken()||"text",a))return!1}return p.stepForward(),p.getCurrentTokenRow()!==f.row||this.$matchTokenType(p.getCurrentToken()||"text",o)},l.$matchTokenType=function(c,u){return u.indexOf(c.type||c)>-1},l.recordAutoInsert=function(c,u,f){var p=c.getCursorPosition(),b=u.doc.getLine(p.row);this.isAutoInsertedClosing(p,b,i.autoInsertedLineEnd[0])||(i.autoInsertedBrackets=0),i.autoInsertedRow=p.row,i.autoInsertedLineEnd=f+b.substr(p.column),i.autoInsertedBrackets++},l.recordMaybeInsert=function(c,u,f){var p=c.getCursorPosition(),b=u.doc.getLine(p.row);this.isMaybeInsertedClosing(p,b)||(i.maybeInsertedBrackets=0),i.maybeInsertedRow=p.row,i.maybeInsertedLineStart=b.substr(0,p.column)+f,i.maybeInsertedLineEnd=b.substr(p.column),i.maybeInsertedBrackets++},l.isAutoInsertedClosing=function(c,u,f){return i.autoInsertedBrackets>0&&c.row===i.autoInsertedRow&&f===i.autoInsertedLineEnd[0]&&u.substr(c.column)===i.autoInsertedLineEnd},l.isMaybeInsertedClosing=function(c,u){return i.maybeInsertedBrackets>0&&c.row===i.maybeInsertedRow&&u.substr(c.column)===i.maybeInsertedLineEnd&&u.substr(0,c.column)==i.maybeInsertedLineStart},l.popAutoInsertedClosing=function(){i.autoInsertedLineEnd=i.autoInsertedLineEnd.substr(1),i.autoInsertedBrackets--},l.clearMaybeInsertedClosing=function(){i&&(i.maybeInsertedBrackets=0,i.maybeInsertedRow=-1)},$.inherits(l,w),y.CstyleBehaviour=l});ace.define("ace/unicode",["require","exports","module"],function(g,y,R){"use strict";for(var $=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],w=0,d=[],s=0;s<$.length;s+=2)d.push(w+=$[s]),$[s+1]&&d.push(45,w+=$[s+1]);y.wordChars=String.fromCharCode.apply(null,d)});ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(g,y,R){"use strict";var $=g("../config"),w=g("../tokenizer").Tokenizer,d=g("./text_highlight_rules").TextHighlightRules,s=g("./behaviour/cstyle").CstyleBehaviour,a=g("../unicode"),o=g("../lib/lang"),i=g("../token_iterator").TokenIterator,n=g("../range").Range,t;t=function(){this.HighlightRules=d},function(){this.$defaultBehaviour=new s,this.tokenRe=new RegExp("^["+a.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+a.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new w(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,r,l,c){var u=r.doc,f=!0,p=!0,b=1/0,k=r.getTabSize(),v=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var E=this.lineCommentStart.map(o.escapeRegExp).join("|"),A=this.lineCommentStart[0];else var E=o.escapeRegExp(this.lineCommentStart),A=this.lineCommentStart;E=new RegExp("^(\\s*)(?:"+E+") ?"),v=r.getUseSoftTabs();var x=function(N,F){var W=N.match(E);if(W){var B=W[1].length,H=W[0].length;!S(N,B,H)&&W[0][H-1]==" "&&H--,u.removeInLine(F,B,H)}},h=A+" ",C=function(N,F){(!f||/\S/.test(N))&&(S(N,b,b)?u.insertInLine({row:F,column:b},h):u.insertInLine({row:F,column:b},A))},m=function(N,F){return E.test(N)},S=function(N,F,W){for(var B=0;F--&&N.charAt(F)==" ";)B++;if(B%k!=0)return!1;for(var B=0;N.charAt(W++)==" ";)B++;return k>2?B%k!=k-1:B%k==0}}else{if(!this.blockComment)return!1;var A=this.blockComment.start,M=this.blockComment.end,E=new RegExp("^(\\s*)(?:"+o.escapeRegExp(A)+")"),_=new RegExp("(?:"+o.escapeRegExp(M)+")\\s*$"),C=function(I,D){m(I,D)||(!f||/\S/.test(I))&&(u.insertInLine({row:D,column:I.length},M),u.insertInLine({row:D,column:b},A))},x=function(I,D){var O;(O=I.match(_))&&u.removeInLine(D,I.length-O[0].length,I.length),(O=I.match(E))&&u.removeInLine(D,O[1].length,O[0].length)},m=function(I,D){if(E.test(I))return!0;for(var O=r.getTokens(D),N=0;N<O.length;N++)if(O[N].type==="comment")return!0}}function L(I){for(var D=l;D<=c;D++)I(u.getLine(D),D)}var T=1/0;L(function(I,D){var O=I.search(/\S/);O!==-1?(O<b&&(b=O),p&&!m(I,D)&&(p=!1)):T>I.length&&(T=I.length)}),b==1/0&&(b=T,f=!1,p=!1),v&&b%k!=0&&(b=Math.floor(b/k)*k),L(p?x:C)},this.toggleBlockComment=function(e,r,l,c){var u=this.blockComment;if(u){!u.start&&u[0]&&(u=u[0]);var f=new i(r,c.row,c.column),p=f.getCurrentToken(),b=r.selection,k=r.selection.toOrientedRange(),v,A;if(p&&/comment/.test(p.type)){for(var M,E;p&&/comment/.test(p.type);){var _=p.value.indexOf(u.start);if(_!=-1){var C=f.getCurrentTokenRow(),x=f.getCurrentTokenColumn()+_;M=new n(C,x,C,x+u.start.length);break}p=f.stepBackward()}for(var f=new i(r,c.row,c.column),p=f.getCurrentToken();p&&/comment/.test(p.type);){var _=p.value.indexOf(u.end);if(_!=-1){var C=f.getCurrentTokenRow(),x=f.getCurrentTokenColumn()+_;E=new n(C,x,C,x+u.end.length);break}p=f.stepForward()}E&&r.remove(E),M&&(r.remove(M),v=M.start.row,A=-u.start.length)}else A=u.start.length,v=l.start.row,r.insert(l.end,u.end),r.insert(l.start,u.start);k.start.row==v&&(k.start.column+=A),k.end.row==v&&(k.end.column+=A),r.selection.fromOrientedRange(k)}},this.getNextLineIndent=function(e,r,l){return this.$getIndent(r)},this.checkOutdent=function(e,r,l){return!1},this.autoOutdent=function(e,r,l){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var r in e)if(e[r]){var l=e[r],c=l.prototype.$id,u=$.$modes[c];u||($.$modes[c]=u=new l),$.$modes[r]||($.$modes[r]=u),this.$embeds.push(r),this.$modes[r]=u}for(var f=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],p=function(k){(function(v){var A=f[k],M=v[A];v[f[k]]=function(){return this.$delegator(A,arguments,M)}})(b)},b=this,r=0;r<f.length;r++)p(r)},this.$delegator=function(e,r,l){var c=r[0]||"start";if(typeof c!="string"){if(Array.isArray(c[2])){var u=c[2][c[2].length-1],f=this.$modes[u];if(f)return f[e].apply(f,[c[1]].concat([].slice.call(r,1)))}c=c[0]||"start"}for(var p=0;p<this.$embeds.length;p++)if(this.$modes[this.$embeds[p]]){var b=c.split(this.$embeds[p]);if(!b[0]&&b[1]){r[0]=b[1];var f=this.$modes[this.$embeds[p]];return f[e].apply(f,r)}}var k=l.apply(this,r);return l?k:void 0},this.transformAction=function(e,r,l,c,u){if(this.$behaviour){var f=this.$behaviour.getBehaviours();for(var p in f)if(f[p][r]){var b=f[p][r].apply(this,arguments);if(b)return b}}},this.getKeywords=function(e){if(!this.completionKeywords){var r=this.$tokenizer.rules,l=[];for(var c in r)for(var u=r[c],f=0,p=u.length;f<p;f++)if(typeof u[f].token=="string")/keyword|support|storage/.test(u[f].token)&&l.push(u[f].regex);else if(typeof u[f].token=="object"){for(var b=0,k=u[f].token.length;b<k;b++)if(/keyword|support|storage/.test(u[f].token[b])){var c=u[f].regex.match(/\(.+?\)/g)[b];l.push(c.substr(1,c.length-2))}}this.completionKeywords=l}return e?l.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,r,l,c){var u=this.$keywordList||this.$createKeywordList();return u.map(function(f){return{name:f,value:f,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}.call(t.prototype),y.Mode=t});ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(g,y,R){"use strict";var $=g("./lib/dom"),w=function(){function d(s){this.session=s,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return d.prototype.getRowLength=function(s){var a;return this.lineWidgets?a=this.lineWidgets[s]&&this.lineWidgets[s].rowCount||0:a=0,!this.$useWrapMode||!this.$wrapData[s]?1+a:this.$wrapData[s].length+1+a},d.prototype.$getWidgetScreenLength=function(){var s=0;return this.lineWidgets.forEach(function(a){a&&a.rowCount&&!a.hidden&&(s+=a.rowCount)}),s},d.prototype.$onChangeEditor=function(s){this.attach(s.editor)},d.prototype.attach=function(s){s&&s.widgetManager&&s.widgetManager!=this&&s.widgetManager.detach(),this.editor!=s&&(this.detach(),this.editor=s,s&&(s.widgetManager=this,s.renderer.on("beforeRender",this.measureWidgets),s.renderer.on("afterRender",this.renderWidgets)))},d.prototype.detach=function(s){var a=this.editor;if(a){this.editor=null,a.widgetManager=null,a.renderer.off("beforeRender",this.measureWidgets),a.renderer.off("afterRender",this.renderWidgets);var o=this.session.lineWidgets;o&&o.forEach(function(i){i&&i.el&&i.el.parentNode&&(i._inDocument=!1,i.el.parentNode.removeChild(i.el))})}},d.prototype.updateOnFold=function(s,a){var o=a.lineWidgets;if(!(!o||!s.action)){for(var i=s.data,n=i.start.row,t=i.end.row,e=s.action=="add",r=n+1;r<t;r++)o[r]&&(o[r].hidden=e);o[t]&&(e?o[n]?o[t].hidden=e:o[n]=o[t]:(o[n]==o[t]&&(o[n]=void 0),o[t].hidden=e))}},d.prototype.updateOnChange=function(s){var a=this.session.lineWidgets;if(a){var o=s.start.row,i=s.end.row-o;if(i!==0)if(s.action=="remove"){var n=a.splice(o+1,i);!a[o]&&n[n.length-1]&&(a[o]=n.pop()),n.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var t=new Array(i);a[o]&&a[o].column!=null&&s.start.column>a[o].column&&o++,t.unshift(o,0),a.splice.apply(a,t),this.$updateRows()}}},d.prototype.$updateRows=function(){var s=this.session.lineWidgets;if(s){var a=!0;s.forEach(function(o,i){if(o)for(a=!1,o.row=i;o.$oldWidget;)o.$oldWidget.row=i,o=o.$oldWidget}),a&&(this.session.lineWidgets=null)}},d.prototype.$registerLineWidget=function(s){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var a=this.session.lineWidgets[s.row];return a&&(s.$oldWidget=a,a.el&&a.el.parentNode&&(a.el.parentNode.removeChild(a.el),a._inDocument=!1)),this.session.lineWidgets[s.row]=s,s},d.prototype.addLineWidget=function(s){if(this.$registerLineWidget(s),s.session=this.session,!this.editor)return s;var a=this.editor.renderer;s.html&&!s.el&&(s.el=$.createElement("div"),s.el.innerHTML=s.html),s.text&&!s.el&&(s.el=$.createElement("div"),s.el.textContent=s.text),s.el&&($.addCssClass(s.el,"ace_lineWidgetContainer"),s.className&&$.addCssClass(s.el,s.className),s.el.style.position="absolute",s.el.style.zIndex="5",a.container.appendChild(s.el),s._inDocument=!0,s.coverGutter||(s.el.style.zIndex="3"),s.pixelHeight==null&&(s.pixelHeight=s.el.offsetHeight)),s.rowCount==null&&(s.rowCount=s.pixelHeight/a.layerConfig.lineHeight);var o=this.session.getFoldAt(s.row,0);if(s.$fold=o,o){var i=this.session.lineWidgets;s.row==o.end.row&&!i[o.start.row]?i[o.start.row]=s:s.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:s.row}}}),this.$updateRows(),this.renderWidgets(null,a),this.onWidgetChanged(s),s},d.prototype.removeLineWidget=function(s){if(s._inDocument=!1,s.session=null,s.el&&s.el.parentNode&&s.el.parentNode.removeChild(s.el),s.editor&&s.editor.destroy)try{s.editor.destroy()}catch{}if(this.session.lineWidgets){var a=this.session.lineWidgets[s.row];if(a==s)this.session.lineWidgets[s.row]=s.$oldWidget,s.$oldWidget&&this.onWidgetChanged(s.$oldWidget);else for(;a;){if(a.$oldWidget==s){a.$oldWidget=s.$oldWidget;break}a=a.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:s.row}}}),this.$updateRows()},d.prototype.getWidgetsAtRow=function(s){for(var a=this.session.lineWidgets,o=a&&a[s],i=[];o;)i.push(o),o=o.$oldWidget;return i},d.prototype.onWidgetChanged=function(s){this.session._changedWidgets.push(s),this.editor&&this.editor.renderer.updateFull()},d.prototype.measureWidgets=function(s,a){var o=this.session._changedWidgets,i=a.layerConfig;if(!(!o||!o.length)){for(var n=1/0,t=0;t<o.length;t++){var e=o[t];if(!(!e||!e.el)&&e.session==this.session){if(!e._inDocument){if(this.session.lineWidgets[e.row]!=e)continue;e._inDocument=!0,a.container.appendChild(e.el)}e.h=e.el.offsetHeight,e.fixedWidth||(e.w=e.el.offsetWidth,e.screenWidth=Math.ceil(e.w/i.characterWidth));var r=e.h/i.lineHeight;e.coverLine&&(r-=this.session.getRowLineCount(e.row),r<0&&(r=0)),e.rowCount!=r&&(e.rowCount=r,e.row<n&&(n=e.row))}}n!=1/0&&(this.session._emit("changeFold",{data:{start:{row:n}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},d.prototype.renderWidgets=function(s,a){var o=a.layerConfig,i=this.session.lineWidgets;if(i){for(var n=Math.min(this.firstRow,o.firstRow),t=Math.max(this.lastRow,o.lastRow,i.length);n>0&&!i[n];)n--;this.firstRow=o.firstRow,this.lastRow=o.lastRow,a.$cursorLayer.config=o;for(var e=n;e<=t;e++){var r=i[e];if(!(!r||!r.el)){if(r.hidden){r.el.style.top=-100-(r.pixelHeight||0)+"px";continue}r._inDocument||(r._inDocument=!0,a.container.appendChild(r.el));var l=a.$cursorLayer.getPixelPosition({row:e,column:0},!0).top;r.coverLine||(l+=o.lineHeight*this.session.getRowLineCount(r.row)),r.el.style.top=l-o.offset+"px";var c=r.coverGutter?0:a.gutterWidth;r.fixedWidth||(c-=a.scrollLeft),r.el.style.left=c+"px",r.fullWidth&&r.screenWidth&&(r.el.style.minWidth=o.width+2*o.padding+"px"),r.fixedWidth?r.el.style.right=a.scrollBar.getWidth()+"px":r.el.style.right=""}}}},d}();y.LineWidgets=w});ace.define("ace/apply_delta",["require","exports","module"],function(g,y,R){"use strict";function $(s,a){throw console.log("Invalid Delta:",s),"Invalid Delta: "+a}function w(s,a){return a.row>=0&&a.row<s.length&&a.column>=0&&a.column<=s[a.row].length}function d(s,a){a.action!="insert"&&a.action!="remove"&&$(a,"delta.action must be 'insert' or 'remove'"),a.lines instanceof Array||$(a,"delta.lines must be an Array"),(!a.start||!a.end)&&$(a,"delta.start/end must be an present");var o=a.start;w(s,a.start)||$(a,"delta.start must be contained in document");var i=a.end;a.action=="remove"&&!w(s,i)&&$(a,"delta.end must contained in document for 'remove' actions");var n=i.row-o.row,t=i.column-(n==0?o.column:0);(n!=a.lines.length-1||a.lines[n].length!=t)&&$(a,"delta.range must match delta lines")}y.applyDelta=function(s,a,o){var i=a.start.row,n=a.start.column,t=s[i]||"";switch(a.action){case"insert":var e=a.lines;if(e.length===1)s[i]=t.substring(0,n)+a.lines[0]+t.substring(n);else{var r=[i,1].concat(a.lines);s.splice.apply(s,r),s[i]=t.substring(0,n)+s[i],s[i+a.lines.length-1]+=t.substring(n)}break;case"remove":var l=a.end.column,c=a.end.row;i===c?s[i]=t.substring(0,n)+t.substring(l):s.splice(i,c-i+1,t.substring(0,n)+s[c].substring(l));break}}});ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(g,y,R){"use strict";var $=g("./lib/oop"),w=g("./lib/event_emitter").EventEmitter,d=function(){function o(i,n,t){this.$onChange=this.onChange.bind(this),this.attach(i),typeof n!="number"?this.setPosition(n.row,n.column):this.setPosition(n,t)}return o.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},o.prototype.getDocument=function(){return this.document},o.prototype.onChange=function(i){if(!(i.start.row==i.end.row&&i.start.row!=this.row)&&!(i.start.row>this.row)){var n=a(i,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},o.prototype.setPosition=function(i,n,t){var e;if(t?e={row:i,column:n}:e=this.$clipPositionToDocument(i,n),!(this.row==e.row&&this.column==e.column)){var r={row:this.row,column:this.column};this.row=e.row,this.column=e.column,this._signal("change",{old:r,value:e})}},o.prototype.detach=function(){this.document.off("change",this.$onChange)},o.prototype.attach=function(i){this.document=i||this.document,this.document.on("change",this.$onChange)},o.prototype.$clipPositionToDocument=function(i,n){var t={};return i>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):i<0?(t.row=0,t.column=0):(t.row=i,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,n))),n<0&&(t.column=0),t},o}();d.prototype.$insertRight=!1,$.implement(d.prototype,w);function s(o,i,n){var t=n?o.column<=i.column:o.column<i.column;return o.row<i.row||o.row==i.row&&t}function a(o,i,n){var t=o.action=="insert",e=(t?1:-1)*(o.end.row-o.start.row),r=(t?1:-1)*(o.end.column-o.start.column),l=o.start,c=t?l:o.end;return s(i,l,n)?{row:i.row,column:i.column}:s(c,i,!n)?{row:i.row+e,column:i.column+(i.row==c.row?r:0)}:{row:l.row,column:l.column}}y.Anchor=d});ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(g,y,R){"use strict";var $=g("./lib/oop"),w=g("./apply_delta").applyDelta,d=g("./lib/event_emitter").EventEmitter,s=g("./range").Range,a=g("./anchor").Anchor,o=function(){function i(n){this.$lines=[""],n.length===0?this.$lines=[""]:Array.isArray(n)?this.insertMergedLines({row:0,column:0},n):this.insert({row:0,column:0},n)}return i.prototype.setValue=function(n){var t=this.getLength()-1;this.remove(new s(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},n||"")},i.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},i.prototype.createAnchor=function(n,t){return new a(this,n,t)},i.prototype.$detectNewLine=function(n){var t=n.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:`
|
|
180
|
+
`,this._signal("changeNewLineMode")},i.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
|
|
181
|
+
`;case"unix":return`
|
|
182
|
+
`;default:return this.$autoNewLine||`
|
|
183
|
+
`}},i.prototype.setNewLineMode=function(n){this.$newLineMode!==n&&(this.$newLineMode=n,this._signal("changeNewLineMode"))},i.prototype.getNewLineMode=function(){return this.$newLineMode},i.prototype.isNewLine=function(n){return n==`\r
|
|
184
|
+
`||n=="\r"||n==`
|
|
185
|
+
`},i.prototype.getLine=function(n){return this.$lines[n]||""},i.prototype.getLines=function(n,t){return this.$lines.slice(n,t+1)},i.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},i.prototype.getLength=function(){return this.$lines.length},i.prototype.getTextRange=function(n){return this.getLinesForRange(n).join(this.getNewLineCharacter())},i.prototype.getLinesForRange=function(n){var t;if(n.start.row===n.end.row)t=[this.getLine(n.start.row).substring(n.start.column,n.end.column)];else{t=this.getLines(n.start.row,n.end.row),t[0]=(t[0]||"").substring(n.start.column);var e=t.length-1;n.end.row-n.start.row==e&&(t[e]=t[e].substring(0,n.end.column))}return t},i.prototype.insertLines=function(n,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(n,t)},i.prototype.removeLines=function(n,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(n,t)},i.prototype.insertNewLine=function(n){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(n,["",""])},i.prototype.insert=function(n,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(n,this.$split(t))},i.prototype.insertInLine=function(n,t){var e=this.clippedPos(n.row,n.column),r=this.pos(n.row,n.column+t.length);return this.applyDelta({start:e,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},i.prototype.clippedPos=function(n,t){var e=this.getLength();n===void 0?n=e:n<0?n=0:n>=e&&(n=e-1,t=void 0);var r=this.getLine(n);return t==null&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:n,column:t}},i.prototype.clonePos=function(n){return{row:n.row,column:n.column}},i.prototype.pos=function(n,t){return{row:n,column:t}},i.prototype.$clipPosition=function(n){var t=this.getLength();return n.row>=t?(n.row=Math.max(0,t-1),n.column=this.getLine(t-1).length):(n.row=Math.max(0,n.row),n.column=Math.min(Math.max(n.column,0),this.getLine(n.row).length)),n},i.prototype.insertFullLines=function(n,t){n=Math.min(Math.max(n,0),this.getLength());var e=0;n<this.getLength()?(t=t.concat([""]),e=0):(t=[""].concat(t),n--,e=this.$lines[n].length),this.insertMergedLines({row:n,column:e},t)},i.prototype.insertMergedLines=function(n,t){var e=this.clippedPos(n.row,n.column),r={row:e.row+t.length-1,column:(t.length==1?e.column:0)+t[t.length-1].length};return this.applyDelta({start:e,end:r,action:"insert",lines:t}),this.clonePos(r)},i.prototype.remove=function(n){var t=this.clippedPos(n.start.row,n.start.column),e=this.clippedPos(n.end.row,n.end.column);return this.applyDelta({start:t,end:e,action:"remove",lines:this.getLinesForRange({start:t,end:e})}),this.clonePos(t)},i.prototype.removeInLine=function(n,t,e){var r=this.clippedPos(n,t),l=this.clippedPos(n,e);return this.applyDelta({start:r,end:l,action:"remove",lines:this.getLinesForRange({start:r,end:l})},!0),this.clonePos(r)},i.prototype.removeFullLines=function(n,t){n=Math.min(Math.max(0,n),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var e=t==this.getLength()-1&&n>0,r=t<this.getLength()-1,l=e?n-1:n,c=e?this.getLine(l).length:0,u=r?t+1:t,f=r?0:this.getLine(u).length,p=new s(l,c,u,f),b=this.$lines.slice(n,t+1);return this.applyDelta({start:p.start,end:p.end,action:"remove",lines:this.getLinesForRange(p)}),b},i.prototype.removeNewLine=function(n){n<this.getLength()-1&&n>=0&&this.applyDelta({start:this.pos(n,this.getLine(n).length),end:this.pos(n+1,0),action:"remove",lines:["",""]})},i.prototype.replace=function(n,t){if(n instanceof s||(n=s.fromPoints(n.start,n.end)),t.length===0&&n.isEmpty())return n.start;if(t==this.getTextRange(n))return n.end;this.remove(n);var e;return t?e=this.insert(n.start,t):e=n.start,e},i.prototype.applyDeltas=function(n){for(var t=0;t<n.length;t++)this.applyDelta(n[t])},i.prototype.revertDeltas=function(n){for(var t=n.length-1;t>=0;t--)this.revertDelta(n[t])},i.prototype.applyDelta=function(n,t){var e=n.action=="insert";(e?n.lines.length<=1&&!n.lines[0]:!s.comparePoints(n.start,n.end))||(e&&n.lines.length>2e4?this.$splitAndapplyLargeDelta(n,2e4):(w(this.$lines,n,t),this._signal("change",n)))},i.prototype.$safeApplyDelta=function(n){var t=this.$lines.length;(n.action=="remove"&&n.start.row<t&&n.end.row<t||n.action=="insert"&&n.start.row<=t)&&this.applyDelta(n)},i.prototype.$splitAndapplyLargeDelta=function(n,t){for(var e=n.lines,r=e.length-t+1,l=n.start.row,c=n.start.column,u=0,f=0;u<r;u=f){f+=t-1;var p=e.slice(u,f);p.push(""),this.applyDelta({start:this.pos(l+u,c),end:this.pos(l+f,c=0),action:n.action,lines:p},!0)}n.lines=e.slice(u),n.start.row=l+u,n.start.column=c,this.applyDelta(n,!0)},i.prototype.revertDelta=function(n){this.$safeApplyDelta({start:this.clonePos(n.start),end:this.clonePos(n.end),action:n.action=="insert"?"remove":"insert",lines:n.lines.slice()})},i.prototype.indexToPosition=function(n,t){for(var e=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,l=t||0,c=e.length;l<c;l++)if(n-=e[l].length+r,n<0)return{row:l,column:n+e[l].length+r};return{row:c-1,column:n+e[c-1].length+r}},i.prototype.positionToIndex=function(n,t){for(var e=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,l=0,c=Math.min(n.row,e.length),u=t||0;u<c;++u)l+=e[u].length+r;return l+n.column},i.prototype.$split=function(n){return n.split(/\r\n|\r|\n/)},i}();o.prototype.$autoNewLine="",o.prototype.$newLineMode="auto",$.implement(o.prototype,d),y.Document=o});ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(g,y,R){"use strict";var $=g("./lib/oop"),w=g("./lib/event_emitter").EventEmitter,d=function(){function s(a,o){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=a;var i=this;this.$worker=function(){if(i.running){for(var n=new Date,t=i.currentLine,e=-1,r=i.doc,l=t;i.lines[t];)t++;var c=r.getLength(),u=0;for(i.running=!1;t<c;){i.$tokenizeRow(t),e=t;do t++;while(i.lines[t]);if(u++,u%5===0&&new Date-n>20){i.running=setTimeout(i.$worker,20);break}}i.currentLine=t,e==-1&&(e=t),l<=e&&i.fireUpdateEvent(l,e)}}}return s.prototype.setTokenizer=function(a){this.tokenizer=a,this.lines=[],this.states=[],this.start(0)},s.prototype.setDocument=function(a){this.doc=a,this.lines=[],this.states=[],this.stop()},s.prototype.fireUpdateEvent=function(a,o){var i={first:a,last:o};this._signal("update",{data:i})},s.prototype.start=function(a){this.currentLine=Math.min(a||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},s.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},s.prototype.$updateOnChange=function(a){var o=a.start.row,i=a.end.row-o;if(i===0)this.lines[o]=null;else if(a.action=="remove")this.lines.splice(o,i+1,null),this.states.splice(o,i+1,null);else{var n=Array(i+1);n.unshift(o,1),this.lines.splice.apply(this.lines,n),this.states.splice.apply(this.states,n)}this.currentLine=Math.min(o,this.currentLine,this.doc.getLength()),this.stop()},s.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},s.prototype.getTokens=function(a){return this.lines[a]||this.$tokenizeRow(a)},s.prototype.getState=function(a){return this.currentLine==a&&this.$tokenizeRow(a),this.states[a]||"start"},s.prototype.$tokenizeRow=function(a){var o=this.doc.getLine(a),i=this.states[a-1],n=this.tokenizer.getLineTokens(o,i,a);return this.states[a]+""!=n.state+""?(this.states[a]=n.state,this.lines[a+1]=null,this.currentLine>a+1&&(this.currentLine=a+1)):this.currentLine==a&&(this.currentLine=a+1),this.lines[a]=n.tokens},s.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},s}();$.implement(d.prototype,w),y.BackgroundTokenizer=d});ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(g,y,R){"use strict";var $=g("./lib/lang"),w=g("./range").Range,d=function(){function s(a,o,i){i===void 0&&(i="text"),this.setRegexp(a),this.clazz=o,this.type=i,this.docLen=0}return s.prototype.setRegexp=function(a){this.regExp+""!=a+""&&(this.regExp=a,this.cache=[])},s.prototype.update=function(a,o,i,n){if(this.regExp){for(var t=n.firstRow,e=n.lastRow,r={},l=i.$editor&&i.$editor.$search,c=l&&l.$isMultilineSearch(i.$editor.getLastSearchOptions()),u=t;u<=e;u++){var f=this.cache[u];if(f==null||i.getValue().length!=this.docLen){if(c){f=[];var p=l.$multiLineForward(i,this.regExp,u,e);if(p){var b=p.endRow<=e?p.endRow-1:e;b>u&&(u=b),f.push(new w(p.startRow,p.startCol,p.endRow,p.endCol))}f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES))}else f=$.getMatchOffsets(i.getLine(u),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(M){return new w(u,M.offset,u,M.offset+M.length)});this.cache[u]=f.length?f:""}if(f.length!==0)for(var k=f.length;k--;){var v=f[k].toScreenRange(i),A=v.toString();r[A]||(r[A]=!0,o.drawSingleLineMarker(a,v,this.clazz,n))}}this.docLen=i.getValue().length}},s}();d.prototype.MAX_RANGES=500,y.SearchHighlight=d});ace.define("ace/undomanager",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=function(){function v(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return v.prototype.addSession=function(A){this.$session=A},v.prototype.add=function(A,M,E){if(!this.$fromUndo&&A!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),M===!1||!this.lastDeltas){this.lastDeltas=[];var _=this.$undoStack.length;_>this.$undoDepth-1&&this.$undoStack.splice(0,_-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),A.id=this.$rev=++this.$maxRev}(A.action=="remove"||A.action=="insert")&&(this.$lastDelta=A),this.lastDeltas.push(A)}},v.prototype.addSelection=function(A,M){this.selections.push({value:A,rev:M||this.$rev})},v.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},v.prototype.markIgnored=function(A,M){M==null&&(M=this.$rev+1);for(var E=this.$undoStack,_=E.length;_--;){var C=E[_][0];if(C.id<=A)break;C.id<M&&(C.ignore=!0)}this.lastDeltas=null},v.prototype.getSelection=function(A,M){for(var E=this.selections,_=E.length;_--;){var C=E[_];if(C.rev<A)return M&&(C=E[_+1]),C}},v.prototype.getRevision=function(){return this.$rev},v.prototype.getDeltas=function(A,M){M==null&&(M=this.$rev+1);for(var E=this.$undoStack,_=null,C=0,x=E.length;x--;){var m=E[x][0];if(m.id<M&&!_&&(_=x+1),m.id<=A){C=x+1;break}}return E.slice(C,_)},v.prototype.getChangedRanges=function(A,M){M==null&&(M=this.$rev+1)},v.prototype.getChangedLines=function(A,M){M==null&&(M=this.$rev+1)},v.prototype.undo=function(A,M){this.lastDeltas=null;var E=this.$undoStack;if(w(E,E.length)){A||(A=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var _=E.pop(),C=null;return _&&(C=A.undoChanges(_,M),this.$redoStack.push(_),this.$syncRev()),this.$fromUndo=!1,C}},v.prototype.redo=function(A,M){if(this.lastDeltas=null,A||(A=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var E=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);k(this.$redoStack,E),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(x){x[0].id=++this.$maxRev},this)}var _=this.$redoStack.pop(),C=null;return _&&(C=A.redoChanges(_,M),this.$undoStack.push(_),this.$syncRev()),this.$fromUndo=!1,C},v.prototype.$syncRev=function(){var A=this.$undoStack,M=A[A.length-1],E=M&&M[0].id||0;this.$redoStackBaseRev=E,this.$rev=E},v.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},v.prototype.canUndo=function(){return this.$undoStack.length>0},v.prototype.canRedo=function(){return this.$redoStack.length>0},v.prototype.bookmark=function(A){A==null&&(A=this.$rev),this.mark=A},v.prototype.isAtBookmark=function(){return this.$rev===this.mark},v.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},v.prototype.fromJSON=function(A){this.reset(),this.$undoStack=A.$undoStack,this.$redoStack=A.$redoStack},v.prototype.$prettyPrint=function(A){return A?t(A):t(this.$undoStack)+`
|
|
186
|
+
---
|
|
187
|
+
`+t(this.$redoStack)},v}();$.prototype.hasUndo=$.prototype.canUndo,$.prototype.hasRedo=$.prototype.canRedo,$.prototype.isClean=$.prototype.isAtBookmark,$.prototype.markClean=$.prototype.bookmark;function w(v,A){for(var M=A;M--;){var E=v[M];if(E&&!E[0].ignore){for(;M<A-1;){var _=l(v[M],v[M+1]);v[M]=_[0],v[M+1]=_[1],M++}return!0}}}var d=g("./range").Range,s=d.comparePoints,a=d.comparePoints;function o(v){var A=v.action=="insert",M=v.start,E=v.end,_=(E.row-M.row)*(A?1:-1),C=(E.column-M.column)*(A?1:-1);A&&(E=M);for(var x in this.marks){var m=this.marks[x],h=a(m,M);if(!(h<0)){if(h===0&&A)if(m.bias==1)h=1;else{m.bias==-1;continue}var S=A?h:a(m,E);if(S>0){m.row+=_,m.column+=m.row==E.row?C:0;continue}!A&&S<=0&&(m.row=M.row,m.column=M.column,S===0&&(m.bias=1))}}}function i(v){return{row:v.row,column:v.column}}function n(v){return{start:i(v.start),end:i(v.end),action:v.action,lines:v.lines.slice()}}function t(v){if(v=v||this,Array.isArray(v))return v.map(t).join(`
|
|
188
|
+
`);var A="";return v.action?(A=v.action=="insert"?"+":"-",A+="["+v.lines+"]"):v.value&&(Array.isArray(v.value)?A=v.value.map(e).join(`
|
|
189
|
+
`):A=e(v.value)),v.start&&(A+=e(v)),(v.id||v.rev)&&(A+=" ("+(v.id||v.rev)+")"),A}function e(v){return v.start.row+":"+v.start.column+"=>"+v.end.row+":"+v.end.column}function r(v,A){var M=v.action=="insert",E=A.action=="insert";if(M&&E)if(s(A.start,v.end)>=0)u(A,v,-1);else if(s(A.start,v.start)<=0)u(v,A,1);else return null;else if(M&&!E)if(s(A.start,v.end)>=0)u(A,v,-1);else if(s(A.end,v.start)<=0)u(v,A,-1);else return null;else if(!M&&E)if(s(A.start,v.start)>=0)u(A,v,1);else if(s(A.start,v.start)<=0)u(v,A,1);else return null;else if(!M&&!E)if(s(A.start,v.start)>=0)u(A,v,1);else if(s(A.end,v.start)<=0)u(v,A,-1);else return null;return[A,v]}function l(v,A){for(var M=v.length;M--;)for(var E=0;E<A.length;E++)if(!r(v[M],A[E])){for(;M<v.length;){for(;E--;)r(A[E],v[M]);E=A.length,M++}return[v,A]}return v.selectionBefore=A.selectionBefore=v.selectionAfter=A.selectionAfter=null,[A,v]}function c(v,A){var M=v.action=="insert",E=A.action=="insert";if(M&&E)s(v.start,A.start)<0?u(A,v,1):u(v,A,1);else if(M&&!E)s(v.start,A.end)>=0?u(v,A,-1):(s(v.start,A.start)<=0||u(v,d.fromPoints(A.start,v.start),-1),u(A,v,1));else if(!M&&E)s(A.start,v.end)>=0?u(A,v,-1):(s(A.start,v.start)<=0||u(A,d.fromPoints(v.start,A.start),-1),u(v,A,1));else if(!M&&!E)if(s(A.start,v.end)>=0)u(A,v,-1);else if(s(A.end,v.start)<=0)u(v,A,-1);else{var _,C;return s(v.start,A.start)<0&&(_=v,v=p(v,A.start)),s(v.end,A.end)>0&&(C=p(v,A.end)),f(A.end,v.start,v.end,-1),C&&!_&&(v.lines=C.lines,v.start=C.start,v.end=C.end,C=v),[A,_,C].filter(Boolean)}return[A,v]}function u(v,A,M){f(v.start,A.start,A.end,M),f(v.end,A.start,A.end,M)}function f(v,A,M,E){v.row==(E==1?A:M).row&&(v.column+=E*(M.column-A.column)),v.row+=E*(M.row-A.row)}function p(v,A){var M=v.lines,E=v.end;v.end=i(A);var _=v.end.row-v.start.row,C=M.splice(_,M.length),x=_?A.column:A.column-v.start.column;M.push(C[0].substring(0,x)),C[0]=C[0].substr(x);var m={start:i(A),end:E,lines:C,action:v.action};return m}function b(v,A){A=n(A);for(var M=v.length;M--;){for(var E=v[M],_=0;_<E.length;_++){var C=E[_],x=c(C,A);A=x[0],x.length!=2&&(x[2]?(E.splice(_+1,1,x[1],x[2]),_++):x[1]||(E.splice(_,1),_--))}E.length||v.splice(M,1)}return v}function k(v,A){for(var M=0;M<A.length;M++)for(var E=A[M],_=0;_<E.length;_++)b(v,E[_])}y.UndoManager=$});ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=g("../range").Range,w=function(){function d(s,a){this.foldData=s,Array.isArray(a)?this.folds=a:a=this.folds=[a];var o=a[a.length-1];this.range=new $(a[0].start.row,a[0].start.column,o.end.row,o.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(i){i.setFoldLine(this)},this)}return d.prototype.shiftRow=function(s){this.start.row+=s,this.end.row+=s,this.folds.forEach(function(a){a.start.row+=s,a.end.row+=s})},d.prototype.addFold=function(s){if(s.sameRow){if(s.start.row<this.startRow||s.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(s),this.folds.sort(function(a,o){return-a.range.compareEnd(o.start.row,o.start.column)}),this.range.compareEnd(s.start.row,s.start.column)>0?(this.end.row=s.end.row,this.end.column=s.end.column):this.range.compareStart(s.end.row,s.end.column)<0&&(this.start.row=s.start.row,this.start.column=s.start.column)}else if(s.start.row==this.end.row)this.folds.push(s),this.end.row=s.end.row,this.end.column=s.end.column;else if(s.end.row==this.start.row)this.folds.unshift(s),this.start.row=s.start.row,this.start.column=s.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");s.foldLine=this},d.prototype.containsRow=function(s){return s>=this.start.row&&s<=this.end.row},d.prototype.walk=function(s,a,o){var i=0,n=this.folds,t,e,r,l=!0;a==null&&(a=this.end.row,o=this.end.column);for(var c=0;c<n.length;c++){if(t=n[c],e=t.range.compareStart(a,o),e==-1){s(null,a,o,i,l);return}if(r=s(null,t.start.row,t.start.column,i,l),r=!r&&s(t.placeholder,t.start.row,t.start.column,i),r||e===0)return;l=!t.sameRow,i=t.end.column}s(null,a,o,i,l)},d.prototype.getNextFoldTo=function(s,a){for(var o,i,n=0;n<this.folds.length;n++){if(o=this.folds[n],i=o.range.compareEnd(s,a),i==-1)return{fold:o,kind:"after"};if(i===0)return{fold:o,kind:"inside"}}return null},d.prototype.addRemoveChars=function(s,a,o){var i=this.getNextFoldTo(s,a),n,t;if(i){if(n=i.fold,i.kind=="inside"&&n.start.column!=a&&n.start.row!=s)window.console&&window.console.log(s,a,n);else if(n.start.row==s){t=this.folds;var e=t.indexOf(n);for(e===0&&(this.start.column+=o),e;e<t.length;e++){if(n=t[e],n.start.column+=o,!n.sameRow)return;n.end.column+=o}this.end.column+=o}}},d.prototype.split=function(s,a){var o=this.getNextFoldTo(s,a);if(!o||o.kind=="inside")return null;var i=o.fold,n=this.folds,t=this.foldData,e=n.indexOf(i),r=n[e-1];this.end.row=r.end.row,this.end.column=r.end.column,n=n.splice(e,n.length-e);var l=new d(t,n);return t.splice(t.indexOf(this)+1,0,l),l},d.prototype.merge=function(s){for(var a=s.folds,o=0;o<a.length;o++)this.addFold(a[o]);var i=this.foldData;i.splice(i.indexOf(s),1)},d.prototype.toString=function(){var s=[this.range.toString()+": ["];return this.folds.forEach(function(a){s.push(" "+a.toString())}),s.push("]"),s.join(`
|
|
190
|
+
`)},d.prototype.idxToPosition=function(s){for(var a=0,o=0;o<this.folds.length;o++){var i=this.folds[o];if(s-=i.start.column-a,s<0)return{row:i.start.row,column:i.start.column+s};if(s-=i.placeholder.length,s<0)return i.start;a=i.end.column}return{row:this.end.row,column:this.end.column+s}},d}();y.FoldLine=w});ace.define("ace/range_list",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=g("./range").Range,w=$.comparePoints,d=function(){function s(){this.ranges=[],this.$bias=1}return s.prototype.pointIndex=function(a,o,i){for(var n=this.ranges,t=i||0;t<n.length;t++){var e=n[t],r=w(a,e.end);if(!(r>0)){var l=w(a,e.start);return r===0?o&&l!==0?-t-2:t:l>0||l===0&&!o?t:-t-1}}return-t-1},s.prototype.add=function(a){var o=!a.isEmpty(),i=this.pointIndex(a.start,o);i<0&&(i=-i-1);var n=this.pointIndex(a.end,o,i);return n<0?n=-n-1:n++,this.ranges.splice(i,n-i,a)},s.prototype.addList=function(a){for(var o=[],i=a.length;i--;)o.push.apply(o,this.add(a[i]));return o},s.prototype.substractPoint=function(a){var o=this.pointIndex(a);if(o>=0)return this.ranges.splice(o,1)},s.prototype.merge=function(){var a=[],o=this.ranges;o=o.sort(function(r,l){return w(r.start,l.start)});for(var i=o[0],n,t=1;t<o.length;t++){n=i,i=o[t];var e=w(n.end,i.start);e<0||e==0&&!n.isEmpty()&&!i.isEmpty()||(w(n.end,i.end)<0&&(n.end.row=i.end.row,n.end.column=i.end.column),o.splice(t,1),a.push(i),i=n,t--)}return this.ranges=o,a},s.prototype.contains=function(a,o){return this.pointIndex({row:a,column:o})>=0},s.prototype.containsPoint=function(a){return this.pointIndex(a)>=0},s.prototype.rangeAtPoint=function(a){var o=this.pointIndex(a);if(o>=0)return this.ranges[o]},s.prototype.clipRows=function(a,o){var i=this.ranges;if(i[0].start.row>o||i[i.length-1].start.row<a)return[];var n=this.pointIndex({row:a,column:0});n<0&&(n=-n-1);var t=this.pointIndex({row:o,column:0},n);t<0&&(t=-t-1);for(var e=[],r=n;r<t;r++)e.push(i[r]);return e},s.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},s.prototype.attach=function(a){this.session&&this.detach(),this.session=a,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},s.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},s.prototype.$onChange=function(a){for(var o=a.start,i=a.end,n=o.row,t=i.row,e=this.ranges,r=0,l=e.length;r<l;r++){var c=e[r];if(c.end.row>=n)break}if(a.action=="insert")for(var u=t-n,f=-o.column+i.column;r<l;r++){var c=e[r];if(c.start.row>n)break;if(c.start.row==n&&c.start.column>=o.column&&(c.start.column==o.column&&this.$bias<=0||(c.start.column+=f,c.start.row+=u)),c.end.row==n&&c.end.column>=o.column){if(c.end.column==o.column&&this.$bias<0)continue;c.end.column==o.column&&f>0&&r<l-1&&c.end.column>c.start.column&&c.end.column==e[r+1].start.column&&(c.end.column-=f),c.end.column+=f,c.end.row+=u}}else for(var u=n-t,f=o.column-i.column;r<l;r++){var c=e[r];if(c.start.row>t)break;c.end.row<t&&(n<c.end.row||n==c.end.row&&o.column<c.end.column)?(c.end.row=n,c.end.column=o.column):c.end.row==t?c.end.column<=i.column?(u||c.end.column>o.column)&&(c.end.column=o.column,c.end.row=o.row):(c.end.column+=f,c.end.row+=u):c.end.row>t&&(c.end.row+=u),c.start.row<t&&(n<c.start.row||n==c.start.row&&o.column<c.start.column)?(c.start.row=n,c.start.column=o.column):c.start.row==t?c.start.column<=i.column?(u||c.start.column>o.column)&&(c.start.column=o.column,c.start.row=o.row):(c.start.column+=f,c.start.row+=u):c.start.row>t&&(c.start.row+=u)}if(u!=0&&r<l)for(;r<l;r++){var c=e[r];c.start.row+=u,c.end.row+=u}},s}();d.prototype.comparePoints=w,y.RangeList=d});ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(g,y,R){"use strict";var $=this&&this.__extends||function(){var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,l){r.__proto__=l}||function(r,l){for(var c in l)Object.prototype.hasOwnProperty.call(l,c)&&(r[c]=l[c])},n(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");n(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}}(),w=g("../range_list").RangeList,d=function(n){$(t,n);function t(e,r){var l=n.call(this)||this;return l.foldLine=null,l.placeholder=r,l.range=e,l.start=e.start,l.end=e.end,l.sameRow=e.start.row==e.end.row,l.subFolds=l.ranges=[],l}return t.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(r){r.setFoldLine(e)})},t.prototype.clone=function(){var e=this.range.clone(),r=new t(e,this.placeholder);return this.subFolds.forEach(function(l){r.subFolds.push(l.clone())}),r.collapseChildren=this.collapseChildren,r},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){a(e,this.start);for(var f=e.start.row,p=e.start.column,r=0,l=-1;r<this.subFolds.length&&(l=this.subFolds[r].range.compare(f,p),l==1);r++);var c=this.subFolds[r],u=0;if(l==0){if(c.range.containsRange(e))return c.addSubFold(e);u=1}for(var f=e.range.end.row,p=e.range.end.column,b=r,l=-1;b<this.subFolds.length&&(l=this.subFolds[b].range.compare(f,p),l==1);b++);l==0&&b++;for(var k=this.subFolds.splice(r,b-r,e),v=l==0?k.length-1:k.length,A=u;A<v;A++)e.addSubFold(k[A]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return i(e,this.start)},t}(w);function s(n,t){n.row-=t.row,n.row==0&&(n.column-=t.column)}function a(n,t){s(n.start,t),s(n.end,t)}function o(n,t){n.row==0&&(n.column+=t.column),n.row+=t.row}function i(n,t){o(n.start,t),o(n.end,t)}y.Fold=d});ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(g,y,R){"use strict";var $=g("../range").Range,w=g("./fold_line").FoldLine,d=g("./fold").Fold,s=g("../token_iterator").TokenIterator,a=g("../mouse/mouse_event").MouseEvent;function o(){this.getFoldAt=function(i,n,t){var e=this.getFoldLine(i);if(!e)return null;for(var r=e.folds,l=0;l<r.length;l++){var c=r[l].range;if(c.contains(i,n)){if(t==1&&c.isEnd(i,n)&&!c.isEmpty())continue;if(t==-1&&c.isStart(i,n)&&!c.isEmpty())continue;return r[l]}}},this.getFoldsInRange=function(i){var n=i.start,t=i.end,e=this.$foldData,r=[];n.column+=1,t.column-=1;for(var l=0;l<e.length;l++){var c=e[l].range.compareRange(i);if(c!=2){if(c==-2)break;for(var u=e[l].folds,f=0;f<u.length;f++){var p=u[f];if(c=p.range.compareRange(i),c==-2)break;if(c==2)continue;if(c==42)break;r.push(p)}}}return n.column-=1,t.column+=1,r},this.getFoldsInRangeList=function(i){if(Array.isArray(i)){var n=[];i.forEach(function(t){n=n.concat(this.getFoldsInRange(t))},this)}else var n=this.getFoldsInRange(i);return n},this.getAllFolds=function(){for(var i=[],n=this.$foldData,t=0;t<n.length;t++)for(var e=0;e<n[t].folds.length;e++)i.push(n[t].folds[e]);return i},this.getFoldStringAt=function(i,n,t,e){if(e=e||this.getFoldLine(i),!e)return null;for(var r={end:{column:0}},l,c,u=0;u<e.folds.length;u++){c=e.folds[u];var f=c.range.compareEnd(i,n);if(f==-1){l=this.getLine(c.start.row).substring(r.end.column,c.start.column);break}else if(f===0)return null;r=c}return l||(l=this.getLine(c.start.row).substring(r.end.column)),t==-1?l.substring(0,n-r.end.column):t==1?l.substring(n-r.end.column):l},this.getFoldLine=function(i,n){var t=this.$foldData,e=0;for(n&&(e=t.indexOf(n)),e==-1&&(e=0),e;e<t.length;e++){var r=t[e];if(r.start.row<=i&&r.end.row>=i)return r;if(r.end.row>i)return null}return null},this.getNextFoldLine=function(i,n){var t=this.$foldData,e=0;for(n&&(e=t.indexOf(n)),e==-1&&(e=0),e;e<t.length;e++){var r=t[e];if(r.end.row>=i)return r}return null},this.getFoldedRowCount=function(i,n){for(var t=this.$foldData,e=n-i+1,r=0;r<t.length;r++){var l=t[r],c=l.end.row,u=l.start.row;if(c>=n){u<n&&(u>=i?e-=n-u:e=0);break}else c>=i&&(u>=i?e-=c-u:e-=c-i+1)}return e},this.$addFoldLine=function(i){return this.$foldData.push(i),this.$foldData.sort(function(n,t){return n.start.row-t.start.row}),i},this.addFold=function(i,n){var t=this.$foldData,e=!1,r;i instanceof d?r=i:(r=new d(n,i),r.collapseChildren=n.collapseChildren),this.$clipRangeToDocument(r.range);var l=r.start.row,c=r.start.column,u=r.end.row,f=r.end.column,p=this.getFoldAt(l,c,1),b=this.getFoldAt(u,f,-1);if(p&&b==p)return p.addSubFold(r);p&&!p.range.isStart(l,c)&&this.removeFold(p),b&&!b.range.isEnd(u,f)&&this.removeFold(b);var k=this.getFoldsInRange(r.range);k.length>0&&(this.removeFolds(k),r.collapseChildren||k.forEach(function(E){r.addSubFold(E)}));for(var v=0;v<t.length;v++){var A=t[v];if(u==A.start.row){A.addFold(r),e=!0;break}else if(l==A.end.row){if(A.addFold(r),e=!0,!r.sameRow){var M=t[v+1];if(M&&M.start.row==u){A.merge(M);break}}break}else if(u<=A.start.row)break}return e||(A=this.$addFoldLine(new w(this.$foldData,r))),this.$useWrapMode?this.$updateWrapData(A.start.row,A.start.row):this.$updateRowLengthCache(A.start.row,A.start.row),this.$modified=!0,this._signal("changeFold",{data:r,action:"add"}),r},this.addFolds=function(i){i.forEach(function(n){this.addFold(n)},this)},this.removeFold=function(i){var n=i.foldLine,t=n.start.row,e=n.end.row,r=this.$foldData,l=n.folds;if(l.length==1)r.splice(r.indexOf(n),1);else if(n.range.isEnd(i.end.row,i.end.column))l.pop(),n.end.row=l[l.length-1].end.row,n.end.column=l[l.length-1].end.column;else if(n.range.isStart(i.start.row,i.start.column))l.shift(),n.start.row=l[0].start.row,n.start.column=l[0].start.column;else if(i.sameRow)l.splice(l.indexOf(i),1);else{var c=n.split(i.start.row,i.start.column);l=c.folds,l.shift(),c.start.row=l[0].start.row,c.start.column=l[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(t,e):this.$updateRowLengthCache(t,e)),this.$modified=!0,this._signal("changeFold",{data:i,action:"remove"})},this.removeFolds=function(i){for(var n=[],t=0;t<i.length;t++)n.push(i[t]);n.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(i){this.removeFold(i),i.subFolds.forEach(function(n){i.restoreRange(n),this.addFold(n)},this),i.collapseChildren>0&&this.foldAll(i.start.row+1,i.end.row,i.collapseChildren-1),i.subFolds=[]},this.expandFolds=function(i){i.forEach(function(n){this.expandFold(n)},this)},this.unfold=function(i,n){var t,e;if(i==null)t=new $(0,0,this.getLength(),0),n==null&&(n=!0);else if(typeof i=="number")t=new $(i,0,i,this.getLine(i).length);else if("row"in i)t=$.fromPoints(i,i);else{if(Array.isArray(i))return e=[],i.forEach(function(l){e=e.concat(this.unfold(l))},this),e;t=i}e=this.getFoldsInRangeList(t);for(var r=e;e.length==1&&$.comparePoints(e[0].start,t.start)<0&&$.comparePoints(e[0].end,t.end)>0;)this.expandFolds(e),e=this.getFoldsInRangeList(t);if(n!=!1?this.removeFolds(e):this.expandFolds(e),r.length)return r},this.isRowFolded=function(i,n){return!!this.getFoldLine(i,n)},this.getRowFoldEnd=function(i,n){var t=this.getFoldLine(i,n);return t?t.end.row:i},this.getRowFoldStart=function(i,n){var t=this.getFoldLine(i,n);return t?t.start.row:i},this.getFoldDisplayLine=function(i,n,t,e,r){e==null&&(e=i.start.row),r==null&&(r=0),n==null&&(n=i.end.row),t==null&&(t=this.getLine(n).length);var l=this.doc,c="";return i.walk(function(u,f,p,b){if(!(f<e)){if(f==e){if(p<r)return;b=Math.max(r,b)}u!=null?c+=u:c+=l.getLine(f).substring(b,p)}},n,t),c},this.getDisplayLine=function(i,n,t,e){var r=this.getFoldLine(i);if(r)return this.getFoldDisplayLine(r,i,n,t,e);var l;return l=this.doc.getLine(i),l.substring(e||0,n||l.length)},this.$cloneFoldData=function(){var i=[];return i=this.$foldData.map(function(n){var t=n.folds.map(function(e){return e.clone()});return new w(i,t)}),i},this.toggleFold=function(i){var n=this.selection,t=n.getRange(),e,r;if(t.isEmpty()){var l=t.start;if(e=this.getFoldAt(l.row,l.column),e){this.expandFold(e);return}else if(i){var c=this.getFoldLine(l.row);c&&this.expandFolds(c.folds);return}else(r=this.findMatchingBracket(l))?t.comparePoint(r)==1?t.end=r:(t.start=r,t.start.column++,t.end.column--):(r=this.findMatchingBracket({row:l.row,column:l.column+1}))?(t.comparePoint(r)==1?t.end=r:t.start=r,t.start.column++):t=this.getCommentFoldRange(l.row,l.column)||t}else{var u=this.getFoldsInRange(t);if(i&&u.length){this.expandFolds(u);return}else u.length==1&&(e=u[0])}if(e||(e=this.getFoldAt(t.start.row,t.start.column)),e&&e.range.toString()==t.toString()){this.expandFold(e);return}var f="...";if(!t.isMultiLine()){if(f=this.getTextRange(t),f.length<4)return;f=f.trim().substring(0,2)+".."}this.addFold(f,t)},this.getCommentFoldRange=function(i,n,t){var e=new s(this,i,n),r=e.getCurrentToken(),l=r&&r.type;if(r&&/^comment|string/.test(l)){l=l.match(/comment|string/)[0],l=="comment"&&(l+="|doc-start|\\.doc");var c=new RegExp(l),u=new $;if(t!=1){do r=e.stepBackward();while(r&&c.test(r.type));r=e.stepForward()}u.start.row=e.getCurrentTokenRow(),u.start.column=e.getCurrentTokenColumn()+r.value.length,e=new s(this,i,n);var f=this.getState(e.$row);if(t!=-1){var p=-1;do if(r=e.stepForward(),p==-1){var b=this.getState(e.$row);f.toString()!==b.toString()&&(p=e.$row)}else if(e.$row>p)break;while(r&&c.test(r.type));r=e.stepBackward()}else r=e.getCurrentToken();return u.end.row=e.getCurrentTokenRow(),u.end.column=e.getCurrentTokenColumn(),u.start.row==u.end.row&&u.start.column>u.end.column?void 0:u}},this.foldAll=function(i,n,t,e){t==null&&(t=1e5);var r=this.foldWidgets;if(r){n=n||this.getLength(),i=i||0;for(var l=i;l<n;l++)if(r[l]==null&&(r[l]=this.getFoldWidget(l)),r[l]=="start"&&!(e&&!e(l))){var c=this.getFoldWidgetRange(l);c&&c.isMultiLine()&&c.end.row<=n&&c.start.row>=i&&(l=c.end.row,c.collapseChildren=t,this.addFold("...",c))}}},this.foldToLevel=function(i){for(this.foldAll();i-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var i=this;this.foldAll(null,null,null,function(n){for(var t=i.getTokens(n),e=0;e<t.length;e++){var r=t[e];if(!(r.type=="text"&&/^\s+$/.test(r.value)))return!!/comment/.test(r.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(i){if(!this.$foldStyles[i])throw new Error("invalid fold style: "+i+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=i){this.$foldStyle=i,i=="manual"&&this.unfold();var n=this.$foldMode;this.$setFolding(null),this.$setFolding(n)}},this.$setFolding=function(i){if(this.$foldMode!=i){if(this.$foldMode=i,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!i||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=i.getFoldWidget.bind(i,this,this.$foldStyle),this.getFoldWidgetRange=i.getFoldWidgetRange.bind(i,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(i,n){var t=this.foldWidgets;if(!t||n&&t[i])return{};for(var e=i-1,r;e>=0;){var l=t[e];if(l==null&&(l=t[e]=this.getFoldWidget(e)),l=="start"){var c=this.getFoldWidgetRange(e);if(r||(r=c),c&&c.end.row>=i)break}e--}return{range:e!==-1&&c,firstRange:r}},this.onFoldWidgetClick=function(i,n){n instanceof a&&(n=n.domEvent);var t={children:n.shiftKey,all:n.ctrlKey||n.metaKey,siblings:n.altKey},e=this.$toggleFoldWidget(i,t);if(!e){var r=n.target||n.srcElement;r&&/ace_fold-widget/.test(r.className)&&(r.className+=" ace_invalid")}},this.$toggleFoldWidget=function(i,n){if(this.getFoldWidget){var t=this.getFoldWidget(i),e=this.getLine(i),r=t==="end"?-1:1,l=this.getFoldAt(i,r===-1?0:e.length,r);if(l)return n.children||n.all?this.removeFold(l):this.expandFold(l),l;var c=this.getFoldWidgetRange(i,!0);if(c&&!c.isMultiLine()&&(l=this.getFoldAt(c.start.row,c.start.column,1),l&&c.isEqual(l.range)))return this.removeFold(l),l;if(n.siblings){var u=this.getParentFoldRangeData(i);if(u.range)var f=u.range.start.row+1,p=u.range.end.row;this.foldAll(f,p,n.all?1e4:0)}else n.children?(p=c?c.end.row:this.getLength(),this.foldAll(i+1,p,n.all?1e4:0)):c&&(n.all&&(c.collapseChildren=1e4),this.addFold("...",c));return c}},this.toggleFoldWidget=function(i){var n=this.selection.getCursor().row;n=this.getRowFoldStart(n);var t=this.$toggleFoldWidget(n,{});if(!t){var e=this.getParentFoldRangeData(n,!0);if(t=e.range||e.firstRange,t){n=t.start.row;var r=this.getFoldAt(n,this.getLine(n).length,1);r?this.removeFold(r):this.addFold("...",t)}}},this.updateFoldWidgets=function(i){var n=i.start.row,t=i.end.row-n;if(t===0)this.foldWidgets[n]=null;else if(i.action=="remove")this.foldWidgets.splice(n,t+1,null);else{var e=Array(t+1);e.unshift(n,1),this.foldWidgets.splice.apply(this.foldWidgets,e)}},this.tokenizerUpdateFoldWidgets=function(i){var n=i.data;n.first!=n.last&&this.foldWidgets.length>n.first&&this.foldWidgets.splice(n.first,this.foldWidgets.length)}}y.Folding=o});ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(g,y,R){"use strict";var $=g("../token_iterator").TokenIterator,w=g("../range").Range;function d(){this.findMatchingBracket=function(s,a){if(s.column==0)return null;var o=a||this.getLine(s.row).charAt(s.column-1);if(o=="")return null;var i=o.match(/([\(\[\{])|([\)\]\}])/);return i?i[1]?this.$findClosingBracket(i[1],s):this.$findOpeningBracket(i[2],s):null},this.getBracketRange=function(s){var a=this.getLine(s.row),o=!0,i,n=a.charAt(s.column-1),t=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(t||(n=a.charAt(s.column),s={row:s.row,column:s.column+1},t=n&&n.match(/([\(\[\{])|([\)\]\}])/),o=!1),!t)return null;if(t[1]){var e=this.$findClosingBracket(t[1],s);if(!e)return null;i=w.fromPoints(s,e),o||(i.end.column++,i.start.column--),i.cursor=i.end}else{var e=this.$findOpeningBracket(t[2],s);if(!e)return null;i=w.fromPoints(e,s),o||(i.start.column++,i.end.column--),i.cursor=i.start}return i},this.getMatchingBracketRanges=function(s,a){var o=this.getLine(s.row),i=/([\(\[\{])|([\)\]\}])/,n=!a&&o.charAt(s.column-1),t=n&&n.match(i);if(t||(n=(a===void 0||a)&&o.charAt(s.column),s={row:s.row,column:s.column+1},t=n&&n.match(i)),!t)return null;var e=new w(s.row,s.column-1,s.row,s.column),r=t[1]?this.$findClosingBracket(t[1],s):this.$findOpeningBracket(t[2],s);if(!r)return[e];var l=new w(r.row,r.column,r.row,r.column+1);return[e,l]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(s,a,o){var i=this.$brackets[s],n=1,t=new $(this,a.row,a.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){o||(o=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var r=a.column-t.getCurrentTokenColumn()-2,l=e.value;;){for(;r>=0;){var c=l.charAt(r);if(c==i){if(n-=1,n==0)return{row:t.getCurrentTokenRow(),column:r+t.getCurrentTokenColumn()}}else c==s&&(n+=1);r-=1}do e=t.stepBackward();while(e&&!o.test(e.type));if(e==null)break;l=e.value,r=l.length-1}return null}},this.$findClosingBracket=function(s,a,o){var i=this.$brackets[s],n=1,t=new $(this,a.row,a.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){o||(o=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var r=a.column-t.getCurrentTokenColumn();;){for(var l=e.value,c=l.length;r<c;){var u=l.charAt(r);if(u==i){if(n-=1,n==0)return{row:t.getCurrentTokenRow(),column:r+t.getCurrentTokenColumn()}}else u==s&&(n+=1);r+=1}do e=t.stepForward();while(e&&!o.test(e.type));if(e==null)break;r=0}return null}},this.getMatchingTags=function(s){var a=new $(this,s.row,s.column),o=this.$findTagName(a);if(o){var i=a.stepBackward();return i.value==="<"?this.$findClosingTag(a,o):this.$findOpeningTag(a,o)}},this.$findTagName=function(s){var a=s.getCurrentToken(),o=!1,i=!1;if(a&&a.type.indexOf("tag-name")===-1)do i?a=s.stepBackward():a=s.stepForward(),a&&(a.value==="/>"?i=!0:a.type.indexOf("tag-name")!==-1&&(o=!0));while(a&&!o);return a},this.$findClosingTag=function(s,a){var o,i=a.value,n=a.value,t=0,e=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);a=s.stepForward();var r=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+a.value.length),l=!1;do{if(o=a,o.type.indexOf("tag-close")!==-1&&!l){var c=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);l=!0}if(a=s.stepForward(),a){if(a.value===">"&&!l){var c=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);l=!0}if(a.type.indexOf("tag-name")!==-1){if(i=a.value,n===i){if(o.value==="<")t++;else if(o.value==="</"&&(t--,t<0)){s.stepBackward();var u=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+2);a=s.stepForward();var f=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+a.value.length);if(a.type.indexOf("tag-close")===-1&&(a=s.stepForward()),a&&a.value===">")var p=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);else return}}}else if(n===i&&a.value==="/>"&&(t--,t<0))var u=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+2),f=u,p=f,c=new w(r.end.row,r.end.column,r.end.row,r.end.column+1)}}while(a&&t>=0);if(e&&c&&u&&p&&r&&f)return{openTag:new w(e.start.row,e.start.column,c.end.row,c.end.column),closeTag:new w(u.start.row,u.start.column,p.end.row,p.end.column),openTagName:r,closeTagName:f}},this.$findOpeningTag=function(s,a){var o=s.getCurrentToken(),i=a.value,n=0,t=s.getCurrentTokenRow(),e=s.getCurrentTokenColumn(),r=e+2,l=new w(t,e,t,r);s.stepForward();var c=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+a.value.length);if(a.type.indexOf("tag-close")===-1&&(a=s.stepForward()),!(!a||a.value!==">")){var u=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);s.stepBackward(),s.stepBackward();do if(a=o,t=s.getCurrentTokenRow(),e=s.getCurrentTokenColumn(),r=e+a.value.length,o=s.stepBackward(),a){if(a.type.indexOf("tag-name")!==-1){if(i===a.value)if(o.value==="<"){if(n++,n>0){var f=new w(t,e,t,r),p=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);do a=s.stepForward();while(a&&a.value!==">");var b=new w(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1)}}else o.value==="</"&&n--}else if(a.value==="/>"){for(var k=0,v=o;v;){if(v.type.indexOf("tag-name")!==-1&&v.value===i){n--;break}else if(v.value==="<")break;v=s.stepBackward(),k++}for(var A=0;A<k;A++)s.stepForward()}}while(o&&n<=0);if(p&&b&&l&&u&&f&&c)return{openTag:new w(p.start.row,p.start.column,b.end.row,b.end.column),closeTag:new w(l.start.row,l.start.column,u.end.row,u.end.column),openTagName:f,closeTagName:c}}}}y.BracketMatch=d});ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(g,y,R){"use strict";var $=g("./lib/oop"),w=g("./lib/lang"),d=g("./bidihandler").BidiHandler,s=g("./config"),a=g("./lib/event_emitter").EventEmitter,o=g("./selection").Selection,i=g("./mode/text").Mode,n=g("./range").Range,t=g("./line_widgets").LineWidgets,e=g("./document").Document,r=g("./background_tokenizer").BackgroundTokenizer,l=g("./search_highlight").SearchHighlight,c=g("./undomanager").UndoManager,u=function(){function C(x,m){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++C.$uid,this.$foldData.toString=function(){return this.join(`
|
|
191
|
+
`)},this.$gutterCustomWidgets={},this.bgTokenizer=new r(new i().getTokenizer(),this);var h=this;this.bgTokenizer.on("update",function(S){h._signal("tokenizerUpdate",S)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof x!="object"||!x.getLine)&&(x=new e(x)),this.setDocument(x),this.selection=new o(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new d(this),s.resetOptions(this),this.setMode(m),s._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return C.prototype.$initOperationListeners=function(){var x=this;this.curOp=null,this.on("change",function(){x.curOp||(x.startOperation(),x.curOp.selectionBefore=x.$lastSel),x.curOp.docChanged=!0},!0),this.on("changeSelection",function(){x.curOp||(x.startOperation(),x.curOp.selectionBefore=x.$lastSel),x.curOp.selectionChanged=!0},!0),this.$operationResetTimer=w.delayedCall(this.endOperation.bind(this,!0))},C.prototype.startOperation=function(x){if(this.curOp){if(!x||this.curOp.command)return;this.prevOp=this.curOp}x||(x={}),this.$operationResetTimer.schedule(),this.curOp={command:x.command||{},args:x.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",x)},C.prototype.endOperation=function(x){if(this.curOp){if(x&&x.returnValue===!1){this.curOp=null,this._signal("endOperation",x);return}if(x==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var m=this.selection.toJSON();this.curOp.selectionAfter=m,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(m),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",x)}},C.prototype.setDocument=function(x){this.doc&&this.doc.off("change",this.$onChange),this.doc=x,x.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},C.prototype.getDocument=function(){return this.doc},Object.defineProperty(C.prototype,"widgetManager",{get:function(){var x=new t(this);return this.widgetManager=x,this.$editor&&x.attach(this.$editor),x},set:function(x){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:x})},enumerable:!1,configurable:!0}),C.prototype.$resetRowCache=function(x){if(!x){this.$docRowCache=[],this.$screenRowCache=[];return}var m=this.$docRowCache.length,h=this.$getRowCacheIndex(this.$docRowCache,x)+1;m>h&&(this.$docRowCache.splice(h,m),this.$screenRowCache.splice(h,m))},C.prototype.$getRowCacheIndex=function(x,m){for(var h=0,S=x.length-1;h<=S;){var L=h+S>>1,T=x[L];if(m>T)h=L+1;else if(m<T)S=L-1;else return L}return h-1},C.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},C.prototype.onChangeFold=function(x){var m=x.data;this.$resetRowCache(m.start.row)},C.prototype.onChange=function(x){this.$modified=!0,this.$bidiHandler.onChange(x),this.$resetRowCache(x.start.row);var m=this.$updateInternalDataOnChange(x);!this.$fromUndo&&this.$undoManager&&(m&&m.length&&(this.$undoManager.add({action:"removeFolds",folds:m},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(x,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(x),this._signal("change",x)},C.prototype.onSelectionChange=function(){this._signal("changeSelection")},C.prototype.setValue=function(x){this.doc.setValue(x),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},C.fromJSON=function(x){typeof x=="string"&&(x=JSON.parse(x));var m=new c;m.$undoStack=x.history.undo,m.$redoStack=x.history.redo,m.mark=x.history.mark,m.$rev=x.history.rev;var h=new C(x.value);return x.folds.forEach(function(S){h.addFold("...",n.fromPoints(S.start,S.end))}),h.setAnnotations(x.annotations),h.setBreakpoints(x.breakpoints),h.setMode(x.mode),h.setScrollLeft(x.scrollLeft),h.setScrollTop(x.scrollTop),h.setUndoManager(m),h.selection.fromJSON(x.selection),h},C.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(x){return x.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},C.prototype.toString=function(){return this.doc.getValue()},C.prototype.getSelection=function(){return this.selection},C.prototype.getState=function(x){return this.bgTokenizer.getState(x)},C.prototype.getTokens=function(x){return this.bgTokenizer.getTokens(x)},C.prototype.getTokenAt=function(x,m){var h=this.bgTokenizer.getTokens(x),S,L=0;if(m==null){var T=h.length-1;L=this.getLine(x).length}else for(var T=0;T<h.length&&(L+=h[T].value.length,!(L>=m));T++);return S=h[T],S?(S.index=T,S.start=L-S.value.length,S):null},C.prototype.setUndoManager=function(x){if(this.$undoManager=x,this.$informUndoManager&&this.$informUndoManager.cancel(),x){var m=this;x.addSession(this),this.$syncInformUndoManager=function(){m.$informUndoManager.cancel(),m.mergeUndoDeltas=!1},this.$informUndoManager=w.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},C.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},C.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},C.prototype.getTabString=function(){return this.getUseSoftTabs()?w.stringRepeat(" ",this.getTabSize()):" "},C.prototype.setUseSoftTabs=function(x){this.setOption("useSoftTabs",x)},C.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},C.prototype.setTabSize=function(x){this.setOption("tabSize",x)},C.prototype.getTabSize=function(){return this.$tabSize},C.prototype.isTabStop=function(x){return this.$useSoftTabs&&x.column%this.$tabSize===0},C.prototype.setNavigateWithinSoftTabs=function(x){this.setOption("navigateWithinSoftTabs",x)},C.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},C.prototype.setOverwrite=function(x){this.setOption("overwrite",x)},C.prototype.getOverwrite=function(){return this.$overwrite},C.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},C.prototype.addGutterDecoration=function(x,m){this.$decorations[x]||(this.$decorations[x]=""),this.$decorations[x]+=" "+m,this._signal("changeBreakpoint",{})},C.prototype.removeGutterCustomWidget=function(x){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(x)},C.prototype.addGutterCustomWidget=function(x,m){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(x,m)},C.prototype.removeGutterDecoration=function(x,m){this.$decorations[x]=(this.$decorations[x]||"").replace(" "+m,""),this._signal("changeBreakpoint",{})},C.prototype.getBreakpoints=function(){return this.$breakpoints},C.prototype.setBreakpoints=function(x){this.$breakpoints=[];for(var m=0;m<x.length;m++)this.$breakpoints[x[m]]="ace_breakpoint";this._signal("changeBreakpoint",{})},C.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},C.prototype.setBreakpoint=function(x,m){m===void 0&&(m="ace_breakpoint"),m?this.$breakpoints[x]=m:delete this.$breakpoints[x],this._signal("changeBreakpoint",{})},C.prototype.clearBreakpoint=function(x){delete this.$breakpoints[x],this._signal("changeBreakpoint",{})},C.prototype.addMarker=function(x,m,h,S){var L=this.$markerId++,T={range:x,type:h||"line",renderer:typeof h=="function"?h:null,clazz:m,inFront:!!S,id:L};return S?(this.$frontMarkers[L]=T,this._signal("changeFrontMarker")):(this.$backMarkers[L]=T,this._signal("changeBackMarker")),L},C.prototype.addDynamicMarker=function(x,m){if(x.update){var h=this.$markerId++;return x.id=h,x.inFront=!!m,m?(this.$frontMarkers[h]=x,this._signal("changeFrontMarker")):(this.$backMarkers[h]=x,this._signal("changeBackMarker")),x}},C.prototype.removeMarker=function(x){var m=this.$frontMarkers[x]||this.$backMarkers[x];if(m){var h=m.inFront?this.$frontMarkers:this.$backMarkers;delete h[x],this._signal(m.inFront?"changeFrontMarker":"changeBackMarker")}},C.prototype.getMarkers=function(x){return x?this.$frontMarkers:this.$backMarkers},C.prototype.highlight=function(x){if(!this.$searchHighlight){var m=new l(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(m)}this.$searchHighlight.setRegexp(x)},C.prototype.highlightLines=function(x,m,h,S){typeof m!="number"&&(h=m,m=x),h||(h="ace_step");var L=new n(x,0,m,1/0);return L.id=this.addMarker(L,h,"fullLine",S),L},C.prototype.setAnnotations=function(x){this.$annotations=x,this._signal("changeAnnotation",{})},C.prototype.getAnnotations=function(){return this.$annotations||[]},C.prototype.clearAnnotations=function(){this.setAnnotations([])},C.prototype.$detectNewLine=function(x){var m=x.match(/^.*?(\r?\n)/m);m?this.$autoNewLine=m[1]:this.$autoNewLine=`
|
|
192
|
+
`},C.prototype.getWordRange=function(x,m){var h=this.getLine(x),S=!1;if(m>0&&(S=!!h.charAt(m-1).match(this.tokenRe)),S||(S=!!h.charAt(m).match(this.tokenRe)),S)var L=this.tokenRe;else if(/^\s+$/.test(h.slice(m-1,m+1)))var L=/\s/;else var L=this.nonTokenRe;var T=m;if(T>0){do T--;while(T>=0&&h.charAt(T).match(L));T++}for(var I=m;I<h.length&&h.charAt(I).match(L);)I++;return new n(x,T,x,I)},C.prototype.getAWordRange=function(x,m){for(var h=this.getWordRange(x,m),S=this.getLine(h.end.row);S.charAt(h.end.column).match(/[ \t]/);)h.end.column+=1;return h},C.prototype.setNewLineMode=function(x){this.doc.setNewLineMode(x)},C.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},C.prototype.setUseWorker=function(x){this.setOption("useWorker",x)},C.prototype.getUseWorker=function(){return this.$useWorker},C.prototype.onReloadTokenizer=function(x){var m=x.data;this.bgTokenizer.start(m.first),this._signal("tokenizerUpdate",x)},C.prototype.setMode=function(x,m){if(x&&typeof x=="object"){if(x.getTokenizer)return this.$onChangeMode(x);var h=x,S=h.path}else S=x||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new i),this.$modes[S]&&!h){this.$onChangeMode(this.$modes[S]),m&&m();return}this.$modeId=S,s.loadModule(["mode",S],function(L){if(!this.destroyed){if(this.$modeId!==S)return m&&m();this.$modes[S]&&!h?this.$onChangeMode(this.$modes[S]):L&&L.Mode&&(L=new L.Mode(h),h||(this.$modes[S]=L,L.$id=S),this.$onChangeMode(L)),m&&m()}}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},C.prototype.$onChangeMode=function(x,m){if(m||(this.$modeId=x.$id),this.$mode!==x){var h=this.$mode;this.$mode=x,this.$stopWorker(),this.$useWorker&&this.$startWorker();var S=x.getTokenizer();if(S.on!==void 0){var L=this.onReloadTokenizer.bind(this);S.on("update",L)}this.bgTokenizer.setTokenizer(S),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=x.tokenRe,this.nonTokenRe=x.nonTokenRe,m||(x.attachToSession&&x.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(x.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:h,mode:x}))}},C.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},C.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(x){s.warn("Could not load worker",x),this.$worker=null}},C.prototype.getMode=function(){return this.$mode},C.prototype.setScrollTop=function(x){this.$scrollTop===x||isNaN(x)||(this.$scrollTop=x,this._signal("changeScrollTop",x))},C.prototype.getScrollTop=function(){return this.$scrollTop},C.prototype.setScrollLeft=function(x){this.$scrollLeft===x||isNaN(x)||(this.$scrollLeft=x,this._signal("changeScrollLeft",x))},C.prototype.getScrollLeft=function(){return this.$scrollLeft},C.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},C.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var x=0;return this.lineWidgets.forEach(function(m){m&&m.screenWidth>x&&(x=m.screenWidth)}),this.lineWidgetWidth=x},C.prototype.$computeWidth=function(x){if(this.$modified||x){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var m=this.doc.getAllLines(),h=this.$rowLengthCache,S=0,L=0,T=this.$foldData[L],I=T?T.start.row:1/0,D=m.length,O=0;O<D;O++){if(O>I){if(O=T.end.row+1,O>=D)break;T=this.$foldData[L++],I=T?T.start.row:1/0}h[O]==null&&(h[O]=this.$getStringScreenWidth(m[O])[0]),h[O]>S&&(S=h[O])}this.screenWidth=S}},C.prototype.getLine=function(x){return this.doc.getLine(x)},C.prototype.getLines=function(x,m){return this.doc.getLines(x,m)},C.prototype.getLength=function(){return this.doc.getLength()},C.prototype.getTextRange=function(x){return this.doc.getTextRange(x||this.selection.getRange())},C.prototype.insert=function(x,m){return this.doc.insert(x,m)},C.prototype.remove=function(x){return this.doc.remove(x)},C.prototype.removeFullLines=function(x,m){return this.doc.removeFullLines(x,m)},C.prototype.undoChanges=function(x,m){if(x.length){this.$fromUndo=!0;for(var h=x.length-1;h!=-1;h--){var S=x[h];S.action=="insert"||S.action=="remove"?this.doc.revertDelta(S):S.folds&&this.addFolds(S.folds)}!m&&this.$undoSelect&&(x.selectionBefore?this.selection.fromJSON(x.selectionBefore):this.selection.setRange(this.$getUndoSelection(x,!0))),this.$fromUndo=!1}},C.prototype.redoChanges=function(x,m){if(x.length){this.$fromUndo=!0;for(var h=0;h<x.length;h++){var S=x[h];(S.action=="insert"||S.action=="remove")&&this.doc.$safeApplyDelta(S)}!m&&this.$undoSelect&&(x.selectionAfter?this.selection.fromJSON(x.selectionAfter):this.selection.setRange(this.$getUndoSelection(x,!1))),this.$fromUndo=!1}},C.prototype.setUndoSelect=function(x){this.$undoSelect=x},C.prototype.$getUndoSelection=function(x,m){function h(D){return m?D.action!=="insert":D.action==="insert"}for(var S,L,T=0;T<x.length;T++){var I=x[T];if(I.start){if(!S){h(I)?S=n.fromPoints(I.start,I.end):S=n.fromPoints(I.start,I.start);continue}h(I)?(L=I.start,S.compare(L.row,L.column)==-1&&S.setStart(L),L=I.end,S.compare(L.row,L.column)==1&&S.setEnd(L)):(L=I.start,S.compare(L.row,L.column)==-1&&(S=n.fromPoints(I.start,I.start)))}}return S},C.prototype.replace=function(x,m){return this.doc.replace(x,m)},C.prototype.moveText=function(x,m,h){var S=this.getTextRange(x),L=this.getFoldsInRange(x),T=n.fromPoints(m,m);if(!h){this.remove(x);var I=x.start.row-x.end.row,D=I?-x.end.column:x.start.column-x.end.column;D&&(T.start.row==x.end.row&&T.start.column>x.end.column&&(T.start.column+=D),T.end.row==x.end.row&&T.end.column>x.end.column&&(T.end.column+=D)),I&&T.start.row>=x.end.row&&(T.start.row+=I,T.end.row+=I)}if(T.end=this.insert(T.start,S),L.length){var O=x.start,N=T.start,I=N.row-O.row,D=N.column-O.column;this.addFolds(L.map(function(B){return B=B.clone(),B.start.row==O.row&&(B.start.column+=D),B.end.row==O.row&&(B.end.column+=D),B.start.row+=I,B.end.row+=I,B}))}return T},C.prototype.indentRows=function(x,m,h){h=h.replace(/\t/g,this.getTabString());for(var S=x;S<=m;S++)this.doc.insertInLine({row:S,column:0},h)},C.prototype.outdentRows=function(x){for(var m=x.collapseRows(),h=new n(0,0,0,0),S=this.getTabSize(),L=m.start.row;L<=m.end.row;++L){var T=this.getLine(L);h.start.row=L,h.end.row=L;for(var I=0;I<S&&T.charAt(I)==" ";++I);I<S&&T.charAt(I)==" "?(h.start.column=I,h.end.column=I+1):(h.start.column=0,h.end.column=I),this.remove(h)}},C.prototype.$moveLines=function(x,m,h){if(x=this.getRowFoldStart(x),m=this.getRowFoldEnd(m),h<0){var S=this.getRowFoldStart(x+h);if(S<0)return 0;var L=S-x}else if(h>0){var S=this.getRowFoldEnd(m+h);if(S>this.doc.getLength()-1)return 0;var L=S-m}else{x=this.$clipRowToDocument(x),m=this.$clipRowToDocument(m);var L=m-x+1}var T=new n(x,0,m,Number.MAX_VALUE),I=this.getFoldsInRange(T).map(function(O){return O=O.clone(),O.start.row+=L,O.end.row+=L,O}),D=h==0?this.doc.getLines(x,m):this.doc.removeFullLines(x,m);return this.doc.insertFullLines(x+L,D),I.length&&this.addFolds(I),L},C.prototype.moveLinesUp=function(x,m){return this.$moveLines(x,m,-1)},C.prototype.moveLinesDown=function(x,m){return this.$moveLines(x,m,1)},C.prototype.duplicateLines=function(x,m){return this.$moveLines(x,m,0)},C.prototype.$clipRowToDocument=function(x){return Math.max(0,Math.min(x,this.doc.getLength()-1))},C.prototype.$clipColumnToRow=function(x,m){return m<0?0:Math.min(this.doc.getLine(x).length,m)},C.prototype.$clipPositionToDocument=function(x,m){if(m=Math.max(0,m),x<0)x=0,m=0;else{var h=this.doc.getLength();x>=h?(x=h-1,m=this.doc.getLine(h-1).length):m=Math.min(this.doc.getLine(x).length,m)}return{row:x,column:m}},C.prototype.$clipRangeToDocument=function(x){x.start.row<0?(x.start.row=0,x.start.column=0):x.start.column=this.$clipColumnToRow(x.start.row,x.start.column);var m=this.doc.getLength()-1;return x.end.row>m?(x.end.row=m,x.end.column=this.doc.getLine(m).length):x.end.column=this.$clipColumnToRow(x.end.row,x.end.column),x},C.prototype.setUseWrapMode=function(x){if(x!=this.$useWrapMode){if(this.$useWrapMode=x,this.$modified=!0,this.$resetRowCache(0),x){var m=this.getLength();this.$wrapData=Array(m),this.$updateWrapData(0,m-1)}this._signal("changeWrapMode")}},C.prototype.getUseWrapMode=function(){return this.$useWrapMode},C.prototype.setWrapLimitRange=function(x,m){(this.$wrapLimitRange.min!==x||this.$wrapLimitRange.max!==m)&&(this.$wrapLimitRange={min:x,max:m},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},C.prototype.adjustWrapLimit=function(x,m){var h=this.$wrapLimitRange;h.max<0&&(h={min:m,max:m});var S=this.$constrainWrapLimit(x,h.min,h.max);return S!=this.$wrapLimit&&S>1?(this.$wrapLimit=S,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},C.prototype.$constrainWrapLimit=function(x,m,h){return m&&(x=Math.max(m,x)),h&&(x=Math.min(h,x)),x},C.prototype.getWrapLimit=function(){return this.$wrapLimit},C.prototype.setWrapLimit=function(x){this.setWrapLimitRange(x,x)},C.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},C.prototype.$updateInternalDataOnChange=function(x){var m=this.$useWrapMode,h=x.action,S=x.start,L=x.end,T=S.row,I=L.row,D=I-T,O=null;if(this.$updating=!0,D!=0)if(h==="remove"){this[m?"$wrapData":"$rowLengthCache"].splice(T,D);var N=this.$foldData;O=this.getFoldsInRange(x),this.removeFolds(O);var F=this.getFoldLine(L.row),W=0;if(F){F.addRemoveChars(L.row,L.column,S.column-L.column),F.shiftRow(-D);var B=this.getFoldLine(T);B&&B!==F&&(B.merge(F),F=B),W=N.indexOf(F)+1}for(W;W<N.length;W++){var F=N[W];F.start.row>=L.row&&F.shiftRow(-D)}I=T}else{var H=Array(D);H.unshift(T,0);var z=m?this.$wrapData:this.$rowLengthCache;z.splice.apply(z,H);var N=this.$foldData,F=this.getFoldLine(T),W=0;if(F){var U=F.range.compareInside(S.row,S.column);U==0?(F=F.split(S.row,S.column),F&&(F.shiftRow(D),F.addRemoveChars(I,0,L.column-S.column))):U==-1&&(F.addRemoveChars(T,0,L.column-S.column),F.shiftRow(D)),W=N.indexOf(F)+1}for(W;W<N.length;W++){var F=N[W];F.start.row>=T&&F.shiftRow(D)}}else{D=Math.abs(x.start.column-x.end.column),h==="remove"&&(O=this.getFoldsInRange(x),this.removeFolds(O),D=-D);var F=this.getFoldLine(T);F&&F.addRemoveChars(T,S.column,D)}return m&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,m?this.$updateWrapData(T,I):this.$updateRowLengthCache(T,I),O},C.prototype.$updateRowLengthCache=function(x,m){this.$rowLengthCache[x]=null,this.$rowLengthCache[m]=null},C.prototype.$updateWrapData=function(x,m){var h=this.doc.getAllLines(),S=this.getTabSize(),L=this.$wrapData,T=this.$wrapLimit,I,D,O=x;for(m=Math.min(m,h.length-1);O<=m;)D=this.getFoldLine(O,D),D?(I=[],D.walk(function(N,F,W,B){var H;if(N!=null){H=this.$getDisplayTokens(N,I.length),H[0]=b;for(var z=1;z<H.length;z++)H[z]=k}else H=this.$getDisplayTokens(h[F].substring(B,W),I.length);I=I.concat(H)}.bind(this),D.end.row,h[D.end.row].length+1),L[D.start.row]=this.$computeWrapSplits(I,T,S),O=D.end.row+1):(I=this.$getDisplayTokens(h[O]),L[O]=this.$computeWrapSplits(I,T,S),O++)},C.prototype.$computeWrapSplits=function(x,m,h){if(x.length==0)return[];var S=[],L=x.length,T=0,I=0,D=this.$wrapAsCode,O=this.$indentedSoftWrap,N=m<=Math.max(2*h,8)||O===!1?0:Math.floor(m/2);function F(){var U=0;if(N===0)return U;if(O)for(var j=0;j<x.length;j++){var P=x[j];if(P==A)U+=1;else if(P==M)U+=h;else{if(P==E)continue;break}}return D&&O!==!1&&(U+=h),Math.min(U,N)}function W(U){for(var j=U-T,P=T;P<U;P++){var G=x[P];(G===12||G===2)&&(j-=1)}S.length||(B=F(),S.indent=B),I+=j,S.push(I),T=U}for(var B=0;L-T>m-B;){var H=T+m-B;if(x[H-1]>=A&&x[H]>=A){W(H);continue}if(x[H]==b||x[H]==k){for(H;H!=T-1&&x[H]!=b;H--);if(H>T){W(H);continue}for(H=T+m,H;H<x.length&&x[H]==k;H++);if(H==x.length)break;W(H);continue}for(var z=Math.max(H-(m-(m>>2)),T-1);H>z&&x[H]<b;)H--;if(D){for(;H>z&&x[H]<b;)H--;for(;H>z&&x[H]==v;)H--}else for(;H>z&&x[H]<A;)H--;if(H>z){W(++H);continue}H=T+m,x[H]==p&&H--,W(H-B)}return S},C.prototype.$getDisplayTokens=function(x,m){var h=[],S;m=m||0;for(var L=0;L<x.length;L++){var T=x.charCodeAt(L);if(T==9){S=this.getScreenTabSize(h.length+m),h.push(M);for(var I=1;I<S;I++)h.push(E)}else T==32?h.push(A):T>39&&T<48||T>57&&T<64?h.push(v):T>=4352&&_(T)?h.push(f,p):h.push(f)}return h},C.prototype.$getStringScreenWidth=function(x,m,h){if(m==0)return[0,0];m==null&&(m=1/0),h=h||0;var S,L;for(L=0;L<x.length&&(S=x.charCodeAt(L),S==9?h+=this.getScreenTabSize(h):S>=4352&&_(S)?h+=2:h+=1,!(h>m));L++);return[h,L]},C.prototype.getRowLength=function(x){var m=1;return this.lineWidgets&&(m+=this.lineWidgets[x]&&this.lineWidgets[x].rowCount||0),!this.$useWrapMode||!this.$wrapData[x]?m:this.$wrapData[x].length+m},C.prototype.getRowLineCount=function(x){return!this.$useWrapMode||!this.$wrapData[x]?1:this.$wrapData[x].length+1},C.prototype.getRowWrapIndent=function(x){if(this.$useWrapMode){var m=this.screenToDocumentPosition(x,Number.MAX_VALUE),h=this.$wrapData[m.row];return h.length&&h[0]<m.column?h.indent:0}else return 0},C.prototype.getScreenLastRowColumn=function(x){var m=this.screenToDocumentPosition(x,Number.MAX_VALUE);return this.documentToScreenColumn(m.row,m.column)},C.prototype.getDocumentLastRowColumn=function(x,m){var h=this.documentToScreenRow(x,m);return this.getScreenLastRowColumn(h)},C.prototype.getDocumentLastRowColumnPosition=function(x,m){var h=this.documentToScreenRow(x,m);return this.screenToDocumentPosition(h,Number.MAX_VALUE/10)},C.prototype.getRowSplitData=function(x){if(this.$useWrapMode)return this.$wrapData[x]},C.prototype.getScreenTabSize=function(x){return this.$tabSize-(x%this.$tabSize|0)},C.prototype.screenToDocumentRow=function(x,m){return this.screenToDocumentPosition(x,m).row},C.prototype.screenToDocumentColumn=function(x,m){return this.screenToDocumentPosition(x,m).column},C.prototype.screenToDocumentPosition=function(x,m,h){if(x<0)return{row:0,column:0};var S,L=0,T=0,I,D=0,O=0,N=this.$screenRowCache,F=this.$getRowCacheIndex(N,x),W=N.length;if(W&&F>=0)var D=N[F],L=this.$docRowCache[F],B=x>N[W-1];else var B=!W;for(var H=this.getLength()-1,z=this.getNextFoldLine(L),U=z?z.start.row:1/0;D<=x&&(O=this.getRowLength(L),!(D+O>x||L>=H));)D+=O,L++,L>U&&(L=z.end.row+1,z=this.getNextFoldLine(L,z),U=z?z.start.row:1/0),B&&(this.$docRowCache.push(L),this.$screenRowCache.push(D));if(z&&z.start.row<=L)S=this.getFoldDisplayLine(z),L=z.start.row;else{if(D+O<=x||L>H)return{row:H,column:this.getLine(H).length};S=this.getLine(L),z=null}var j=0,P=Math.floor(x-D);if(this.$useWrapMode){var G=this.$wrapData[L];G&&(I=G[P],P>0&&G.length&&(j=G.indent,T=G[P-1]||G[G.length-1],S=S.substring(T)))}return h!==void 0&&this.$bidiHandler.isBidiRow(D+P,L,P)&&(m=this.$bidiHandler.offsetToCol(h)),T+=this.$getStringScreenWidth(S,m-j)[1],this.$useWrapMode&&T>=I&&(T=I-1),z?z.idxToPosition(T):{row:L,column:T}},C.prototype.documentToScreenPosition=function(x,m){if(typeof m>"u")var h=this.$clipPositionToDocument(x.row,x.column);else h=this.$clipPositionToDocument(x,m);x=h.row,m=h.column;var S=0,L=null,T=null;T=this.getFoldAt(x,m,1),T&&(x=T.start.row,m=T.start.column);var I,D=0,O=this.$docRowCache,N=this.$getRowCacheIndex(O,x),F=O.length;if(F&&N>=0)var D=O[N],S=this.$screenRowCache[N],W=x>O[F-1];else var W=!F;for(var B=this.getNextFoldLine(D),H=B?B.start.row:1/0;D<x;){if(D>=H){if(I=B.end.row+1,I>x)break;B=this.getNextFoldLine(I,B),H=B?B.start.row:1/0}else I=D+1;S+=this.getRowLength(D),D=I,W&&(this.$docRowCache.push(D),this.$screenRowCache.push(S))}var z="";B&&D>=H?(z=this.getFoldDisplayLine(B,x,m),L=B.start.row):(z=this.getLine(x).substring(0,m),L=x);var U=0;if(this.$useWrapMode){var j=this.$wrapData[L];if(j){for(var P=0;z.length>=j[P];)S++,P++;z=z.substring(j[P-1]||0,z.length),U=P>0?j.indent:0}}return this.lineWidgets&&this.lineWidgets[D]&&this.lineWidgets[D].rowsAbove&&(S+=this.lineWidgets[D].rowsAbove),{row:S,column:U+this.$getStringScreenWidth(z)[0]}},C.prototype.documentToScreenColumn=function(x,m){return this.documentToScreenPosition(x,m).column},C.prototype.documentToScreenRow=function(x,m){return this.documentToScreenPosition(x,m).row},C.prototype.getScreenLength=function(){var x=0,m=null;if(this.$useWrapMode)for(var L=this.$wrapData.length,T=0,S=0,m=this.$foldData[S++],I=m?m.start.row:1/0;T<L;){var D=this.$wrapData[T];x+=D?D.length+1:1,T++,T>I&&(T=m.end.row+1,m=this.$foldData[S++],I=m?m.start.row:1/0)}else{x=this.getLength();for(var h=this.$foldData,S=0;S<h.length;S++)m=h[S],x-=m.end.row-m.start.row}return this.lineWidgets&&(x+=this.$getWidgetScreenLength()),x},C.prototype.$setFontMetrics=function(x){this.$enableVarChar&&(this.$getStringScreenWidth=function(m,h,S){if(h===0)return[0,0];h||(h=1/0),S=S||0;var L,T;for(T=0;T<m.length&&(L=m.charAt(T),L===" "?S+=this.getScreenTabSize(S):S+=x.getCharacterWidth(L),!(S>h));T++);return[S,T]})},C.prototype.getPrecedingCharacter=function(){var x=this.selection.getCursor();if(x.column===0)return x.row===0?"":this.doc.getNewLineCharacter();var m=this.getLine(x.row);return m[x.column-1]},C.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},C}();u.$uid=0,u.prototype.$modes=s.$modes,u.prototype.getValue=u.prototype.toString,u.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},u.prototype.$overwrite=!1,u.prototype.$mode=null,u.prototype.$modeId=null,u.prototype.$scrollTop=0,u.prototype.$scrollLeft=0,u.prototype.$wrapLimit=80,u.prototype.$useWrapMode=!1,u.prototype.$wrapLimitRange={min:null,max:null},u.prototype.lineWidgets=null,u.prototype.isFullWidth=_,$.implement(u.prototype,a);var f=1,p=2,b=3,k=4,v=9,A=10,M=11,E=12;function _(C){return C<4352?!1:C>=4352&&C<=4447||C>=4515&&C<=4519||C>=4602&&C<=4607||C>=9001&&C<=9002||C>=11904&&C<=11929||C>=11931&&C<=12019||C>=12032&&C<=12245||C>=12272&&C<=12283||C>=12288&&C<=12350||C>=12353&&C<=12438||C>=12441&&C<=12543||C>=12549&&C<=12589||C>=12593&&C<=12686||C>=12688&&C<=12730||C>=12736&&C<=12771||C>=12784&&C<=12830||C>=12832&&C<=12871||C>=12880&&C<=13054||C>=13056&&C<=19903||C>=19968&&C<=42124||C>=42128&&C<=42182||C>=43360&&C<=43388||C>=44032&&C<=55203||C>=55216&&C<=55238||C>=55243&&C<=55291||C>=63744&&C<=64255||C>=65040&&C<=65049||C>=65072&&C<=65106||C>=65108&&C<=65126||C>=65128&&C<=65131||C>=65281&&C<=65376||C>=65504&&C<=65510}g("./edit_session/folding").Folding.call(u.prototype),g("./edit_session/bracket_match").BracketMatch.call(u.prototype),s.defineOptions(u.prototype,"session",{wrap:{set:function(C){if(!C||C=="off"?C=!1:C=="free"?C=!0:C=="printMargin"?C=-1:typeof C=="string"&&(C=parseInt(C,10)||!1),this.$wrap!=C)if(this.$wrap=C,!C)this.setUseWrapMode(!1);else{var x=typeof C=="number"?C:null;this.setWrapLimitRange(x,x),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(C){C=C=="auto"?this.$mode.type!="text":C!="text",C!=this.$wrapAsCode&&(this.$wrapAsCode=C,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(C){this.$useWorker=C,this.$stopWorker(),C&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(C){C=parseInt(C),C>0&&this.$tabSize!==C&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=C,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(C){this.setFoldStyle(C)},handlesSet:!0},overwrite:{set:function(C){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(C){this.doc.setNewLineMode(C)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(C){this.setMode(C)},get:function(){return this.$modeId},handlesSet:!0}}),y.EditSession=u});ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(g,y,R){"use strict";var $=g("./lib/lang"),w=g("./lib/oop"),d=g("./range").Range,s=function(){function n(){this.$options={}}return n.prototype.set=function(t){return w.mixin(this.$options,t),this},n.prototype.getOptions=function(){return $.copyObject(this.$options)},n.prototype.setOptions=function(t){this.$options=t},n.prototype.find=function(t){var e=this.$options,r=this.$matchIterator(t,e);if(!r)return!1;var l=null;return r.forEach(function(c,u,f,p){return l=new d(c,u,f,p),u==p&&e.start&&e.start.start&&e.skipCurrent!=!1&&l.isEqual(e.start)?(l=null,!1):!0}),l},n.prototype.findAll=function(t){var e=this.$options;if(!e.needle)return[];this.$assembleRegExp(e);var r=e.range,l=r?t.getLines(r.start.row,r.end.row):t.doc.getAllLines(),c=[],u=e.re;if(e.$isMultiLine){var f=u.length,p=l.length-f,b;e:for(var k=u.offset||0;k<=p;k++){for(var v=0;v<f;v++)if(l[k+v].search(u[v])==-1)continue e;var A=l[k],M=l[k+f-1],E=A.length-A.match(u[0])[0].length,_=M.match(u[f-1])[0].length;b&&b.end.row===k&&b.end.column>E||(c.push(b=new d(k,E,k+f-1,_)),f>2&&(k=k+f-2))}}else for(var C,x=0;x<l.length;x++)if(this.$isMultilineSearch(e)){var m=l.length-1;if(C=this.$multiLineForward(t,u,x,m),C){var h=C.endRow<=m?C.endRow-1:m;h>x&&(x=h),c.push(new d(C.startRow,C.startCol,C.endRow,C.endCol))}}else{C=$.getMatchOffsets(l[x],u);for(var v=0;v<C.length;v++){var S=C[v];c.push(new d(x,S.offset,x,S.offset+S.length))}}if(r){for(var L=r.start.column,T=r.end.column,x=0,v=c.length-1;x<v&&c[x].start.column<L&&c[x].start.row==0;)x++;for(var I=r.end.row-r.start.row;x<v&&c[v].end.column>T&&c[v].end.row==I;)v--;for(c=c.slice(x,v+1),x=0,v=c.length;x<v;x++)c[x].start.row+=r.start.row,c[x].end.row+=r.start.row}return c},n.prototype.parseReplaceString=function(t){for(var e={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},r="",l=0,c=t.length;l<c;l++){var u=t.charCodeAt(l);if(u===e.Backslash){if(l++,l>=c){r+="\\";break}var f=t.charCodeAt(l);switch(f){case e.Backslash:r+="\\";break;case e.n:r+=`
|
|
193
|
+
`;break;case e.t:r+=" ";break}continue}if(u===e.DollarSign){if(l++,l>=c){r+="$";break}var p=t.charCodeAt(l);if(p===e.DollarSign){r+="$$";continue}if(p===e.Digit0||p===e.Ampersand){r+="$&";continue}if(e.Digit1<=p&&p<=e.Digit9){r+="$"+t[l];continue}}r+=t[l]}return r||t},n.prototype.replace=function(t,e){var r=this.$options,l=this.$assembleRegExp(r);if(r.$isMultiLine)return e;if(l){var c=this.$isMultilineSearch(r);c&&(t=t.replace(/\r\n|\r|\n/g,`
|
|
194
|
+
`));var u=l.exec(t);if(!u||!c&&u[0].length!=t.length)return null;if(e=r.regExp?this.parseReplaceString(e):e.replace(/\$/g,"$$$$"),e=t.replace(l,e),r.preserveCase){e=e.split("");for(var f=Math.min(t.length,t.length);f--;){var p=t[f];p&&p.toLowerCase()!=p?e[f]=e[f].toUpperCase():e[f]=e[f].toLowerCase()}e=e.join("")}return e}},n.prototype.$assembleRegExp=function(t,e){if(t.needle instanceof RegExp)return t.re=t.needle;var r=t.needle;if(!t.needle)return t.re=!1;t.regExp||(r=$.escapeRegExp(r));var l=t.caseSensitive?"gm":"gmi";try{new RegExp(r,"u"),t.$supportsUnicodeFlag=!0,l+="u"}catch{t.$supportsUnicodeFlag=!1}if(t.wholeWord&&(r=a(r,t)),t.$isMultiLine=!e&&/[\n\r]/.test(r),t.$isMultiLine)return t.re=this.$assembleMultilineRegExp(r,l);try{var c=new RegExp(r,l)}catch{c=!1}return t.re=c},n.prototype.$assembleMultilineRegExp=function(t,e){for(var r=t.replace(/\r\n|\r|\n/g,`$
|
|
195
|
+
^`).split(`
|
|
196
|
+
`),l=[],c=0;c<r.length;c++)try{l.push(new RegExp(r[c],e))}catch{return!1}return l},n.prototype.$isMultilineSearch=function(t){return t.re&&/\\r\\n|\\r|\\n/.test(t.re.source)&&t.regExp&&!t.$isMultiLine},n.prototype.$multiLineForward=function(t,e,r,l){for(var c,u=i(t,r),f=r;f<=l;){for(var p=0;p<u&&!(f>l);p++){var b=t.getLine(f++);c=c==null?b:c+`
|
|
197
|
+
`+b}var k=e.exec(c);if(e.lastIndex=0,k){var v=c.slice(0,k.index).split(`
|
|
198
|
+
`),A=k[0].split(`
|
|
199
|
+
`),M=r+v.length-1,E=v[v.length-1].length,_=M+A.length-1,C=A.length==1?E+A[0].length:A[A.length-1].length;return{startRow:M,startCol:E,endRow:_,endCol:C}}}return null},n.prototype.$multiLineBackward=function(t,e,r,l,c){for(var u,f=i(t,l),p=t.getLine(l).length-r,b=l;b>=c;){for(var k=0;k<f&&b>=c;k++){var v=t.getLine(b--);u=u==null?v:v+`
|
|
200
|
+
`+u}var A=o(u,e,p);if(A){var M=u.slice(0,A.index).split(`
|
|
201
|
+
`),E=A[0].split(`
|
|
202
|
+
`),_=b+M.length,C=M[M.length-1].length,x=_+E.length-1,m=E.length==1?C+E[0].length:E[E.length-1].length;return{startRow:_,startCol:C,endRow:x,endCol:m}}}return null},n.prototype.$matchIterator=function(t,e){var r=this.$assembleRegExp(e);if(!r)return!1;var l=this.$isMultilineSearch(e),c=this.$multiLineForward,u=this.$multiLineBackward,f=e.backwards==!0,p=e.skipCurrent!=!1,b=r.unicode,k=e.range,v=e.start;v||(v=k?k[f?"end":"start"]:t.selection.getRange()),v.start&&(v=v[p!=f?"end":"start"]);var A=k?k.start.row:0,M=k?k.end.row:t.getLength()-1;if(f)var E=function(x){var m=v.row;if(!C(m,v.column,x)){for(m--;m>=A;m--)if(C(m,Number.MAX_VALUE,x))return;if(e.wrap!=!1){for(m=M,A=v.row;m>=A;m--)if(C(m,Number.MAX_VALUE,x))return}}};else var E=function(m){var h=v.row;if(!C(h,v.column,m)){for(h=h+1;h<=M;h++)if(C(h,0,m))return;if(e.wrap!=!1){for(h=A,M=v.row;h<=M;h++)if(C(h,0,m))return}}};if(e.$isMultiLine)var _=r.length,C=function(x,m,h){var S=f?x-_+1:x;if(!(S<0||S+_>t.getLength())){var L=t.getLine(S),T=L.search(r[0]);if(!(!f&&T<m||T===-1)){for(var I=1;I<_;I++)if(L=t.getLine(S+I),L.search(r[I])==-1)return;var D=L.match(r[_-1])[0].length;if(!(f&&D>m)&&h(S,T,S+_-1,D))return!0}}};else if(f)var C=function(m,h,S){if(l){var L=u(t,r,h,m,A);if(!L)return!1;if(S(L.startRow,L.startCol,L.endRow,L.endCol))return!0}else{var T=t.getLine(m),I=[],D,O=0;for(r.lastIndex=0;D=r.exec(T);){var N=D[0].length;if(O=D.index,!N){if(O>=T.length)break;r.lastIndex=O+=$.skipEmptyMatch(T,O,b)}if(D.index+N>h)break;I.push(D.index,N)}for(var F=I.length-1;F>=0;F-=2){var W=I[F-1],N=I[F];if(S(m,W,m,W+N))return!0}}};else var C=function(m,h,S){if(r.lastIndex=h,l){var L=c(t,r,m,M);if(L){var T=L.endRow<=M?L.endRow-1:M;T>m&&(m=T)}if(!L)return!1;if(S(L.startRow,L.startCol,L.endRow,L.endCol))return!0}else for(var I=t.getLine(m),D,O;O=r.exec(I);){var N=O[0].length;if(D=O.index,S(m,D,m,D+N))return!0;if(!N&&(r.lastIndex=D+=$.skipEmptyMatch(I,D,b),D>=I.length))return!1}};return{forEach:E}},n}();function a(n,t){var e=$.supportsLookbehind();function r(f,p){p===void 0&&(p=!0);var b=e&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return b.test(f)||t.regExp?e&&t.$supportsUnicodeFlag?p?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var l=Array.from(n),c=l[0],u=l[l.length-1];return r(c)+n+r(u,!1)}function o(n,t,e){for(var r=null,l=0;l<=n.length;){t.lastIndex=l;var c=t.exec(n);if(!c)break;var u=c.index+c[0].length;if(u>n.length-e)break;(!r||u>r.index+r[0].length)&&(r=c),l=c.index+1}return r}function i(n,t){var e=5e3,r={row:t,column:0},l=n.doc.positionToIndex(r),c=l+e,u=n.doc.indexToPosition(c),f=u.row;return f+1}y.Search=s});ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(g,y,R){"use strict";var $=this&&this.__extends||function(){var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,l){r.__proto__=l}||function(r,l){for(var c in l)Object.prototype.hasOwnProperty.call(l,c)&&(r[c]=l[c])},n(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");n(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}}(),w=g("../lib/keys"),d=g("../lib/useragent"),s=w.KEY_MODS,a=function(){function n(t,e){this.$init(t,e,!1)}return n.prototype.$init=function(t,e,r){this.platform=e||(d.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(t),this.$singleCommand=r},n.prototype.addCommand=function(t){this.commands[t.name]&&this.removeCommand(t),this.commands[t.name]=t,t.bindKey&&this._buildKeyHash(t)},n.prototype.removeCommand=function(t,e){var r=t&&(typeof t=="string"?t:t.name);t=this.commands[r],e||delete this.commands[r];var l=this.commandKeyBinding;for(var c in l){var u=l[c];if(u==t)delete l[c];else if(Array.isArray(u)){var f=u.indexOf(t);f!=-1&&(u.splice(f,1),u.length==1&&(l[c]=u[0]))}}},n.prototype.bindKey=function(t,e,r){if(typeof t=="object"&&t&&(r==null&&(r=t.position),t=t[this.platform]),!!t){if(typeof e=="function")return this.addCommand({exec:e,bindKey:t,name:e.name||t});t.split("|").forEach(function(l){var c="";if(l.indexOf(" ")!=-1){var u=l.split(/\s+/);l=u.pop(),u.forEach(function(b){var k=this.parseKeys(b),v=s[k.hashId]+k.key;c+=(c?" ":"")+v,this._addCommandToBinding(c,"chainKeys")},this),c+=" "}var f=this.parseKeys(l),p=s[f.hashId]+f.key;this._addCommandToBinding(c+p,e,r)},this)}},n.prototype._addCommandToBinding=function(t,e,r){var l=this.commandKeyBinding,c;if(!e)delete l[t];else if(!l[t]||this.$singleCommand)l[t]=e;else{Array.isArray(l[t])?(c=l[t].indexOf(e))!=-1&&l[t].splice(c,1):l[t]=[l[t]],typeof r!="number"&&(r=o(e));var u=l[t];for(c=0;c<u.length;c++){var f=u[c],p=o(f);if(p>r)break}u.splice(c,0,e)}},n.prototype.addCommands=function(t){t&&Object.keys(t).forEach(function(e){var r=t[e];if(r){if(typeof r=="string")return this.bindKey(r,e);typeof r=="function"&&(r={exec:r}),typeof r=="object"&&(r.name||(r.name=e),this.addCommand(r))}},this)},n.prototype.removeCommands=function(t){Object.keys(t).forEach(function(e){this.removeCommand(t[e])},this)},n.prototype.bindKeys=function(t){Object.keys(t).forEach(function(e){this.bindKey(e,t[e])},this)},n.prototype._buildKeyHash=function(t){this.bindKey(t.bindKey,t)},n.prototype.parseKeys=function(t){var e=t.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(p){return p}),r=e.pop(),l=w[r];if(w.FUNCTION_KEYS[l])r=w.FUNCTION_KEYS[l].toLowerCase();else if(e.length){if(e.length==1&&e[0]=="shift")return{key:r.toUpperCase(),hashId:-1}}else return{key:r,hashId:-1};for(var c=0,u=e.length;u--;){var f=w.KEY_MODS[e[u]];if(f==null)return typeof console<"u"&&console.error("invalid modifier "+e[u]+" in "+t),!1;c|=f}return{key:r,hashId:c}},n.prototype.findKeyCommand=function(t,e){var r=s[t]+e;return this.commandKeyBinding[r]},n.prototype.handleKeyboard=function(t,e,r,l){if(!(l<0)){var c=s[e]+r,u=this.commandKeyBinding[c];return t.$keyChain&&(t.$keyChain+=" "+c,u=this.commandKeyBinding[t.$keyChain]||u),u&&(u=="chainKeys"||u[u.length-1]=="chainKeys")?(t.$keyChain=t.$keyChain||c,{command:"null"}):(t.$keyChain&&((!e||e==4)&&r.length==1?t.$keyChain=t.$keyChain.slice(0,-c.length-1):(e==-1||l>0)&&(t.$keyChain="")),{command:u})}},n.prototype.getStatusText=function(t,e){return e.$keyChain||""},n}();function o(n){return typeof n=="object"&&n.bindKey&&n.bindKey.position||(n.isDefault?-100:0)}var i=function(n){$(t,n);function t(e,r){var l=n.call(this,e,r)||this;return l.$singleCommand=!0,l}return t}(a);i.call=function(n,t,e){a.prototype.$init.call(n,t,e,!0)},a.call=function(n,t,e){a.prototype.$init.call(n,t,e,!1)},y.HashHandler=i,y.MultiHashHandler=a});ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(g,y,R){"use strict";var $=this&&this.__extends||function(){var o=function(i,n){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},o(i,n)};return function(i,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");o(i,n);function t(){this.constructor=i}i.prototype=n===null?Object.create(n):(t.prototype=n.prototype,new t)}}(),w=g("../lib/oop"),d=g("../keyboard/hash_handler").MultiHashHandler,s=g("../lib/event_emitter").EventEmitter,a=function(o){$(i,o);function i(n,t){var e=o.call(this,t,n)||this;return e.byName=e.commands,e.setDefaultHandler("exec",function(r){return r.args?r.command.exec(r.editor,r.args,r.event,!1):r.command.exec(r.editor,{},r.event,!0)}),e}return i.prototype.exec=function(n,t,e){if(Array.isArray(n)){for(var r=n.length;r--;)if(this.exec(n[r],t,e))return!0;return!1}typeof n=="string"&&(n=this.commands[n]);var l={editor:t,command:n,args:e};return this.canExecute(n,t)?(l.returnValue=this._emit("exec",l),this._signal("afterExec",l),l.returnValue!==!1):(this._signal("commandUnavailable",l),!1)},i.prototype.canExecute=function(n,t){return typeof n=="string"&&(n=this.commands[n]),!(!n||t&&t.$readOnly&&!n.readOnly||this.$checkCommandState!=!1&&n.isAvailable&&!n.isAvailable(t))},i.prototype.toggleRecording=function(n){if(!this.$inReplay)return n&&n._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(t){this.macro.push([t.command,t.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},i.prototype.replay=function(n){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(n);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,n):this.exec(t[0],n,t[1])},this)}finally{this.$inReplay=!1}}},i.prototype.trimMacro=function(n){return n.map(function(t){return typeof t[0]!="string"&&(t[0]=t[0].name),t[1]||(t=t[0]),t})},i}(d);w.implement(a.prototype,s),y.CommandManager=a});ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(g,y,R){"use strict";var $=g("../lib/lang"),w=g("../config"),d=g("../range").Range;function s(o,i){return{win:o,mac:i}}y.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:s("Ctrl-,","Command-,"),exec:function(o){w.loadModule("ace/ext/settings_menu",function(i){i.init(o),o.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:s("Alt-E","F4"),exec:function(o){w.loadModule("ace/ext/error_marker",function(i){i.showErrorMarker(o,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:s("Alt-Shift-E","Shift-F4"),exec:function(o){w.loadModule("ace/ext/error_marker",function(i){i.showErrorMarker(o,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:s("Ctrl-A","Command-A"),exec:function(o){o.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:s(null,"Ctrl-L"),exec:function(o){o.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:s("Ctrl-L","Command-L"),exec:function(o,i){typeof i=="number"&&!isNaN(i)&&o.gotoLine(i),o.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(o){o.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(o){o.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:s("F2","F2"),exec:function(o){o.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:s("Alt-F2","Alt-F2"),exec:function(o){o.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(o){o.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(o){o.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:s("Alt-0","Command-Option-0"),exec:function(o){o.session.foldAll(),o.session.unfold(o.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(o){o.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:s("Ctrl-K","Command-G"),exec:function(o){o.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(o){o.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:s("Alt-K","Ctrl-G"),exec:function(o){o.selection.isEmpty()?o.selection.selectWord():o.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:s("Alt-Shift-K","Ctrl-Shift-G"),exec:function(o){o.selection.isEmpty()?o.selection.selectWord():o.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:s("Ctrl-F","Command-F"),exec:function(o){w.loadModule("ace/ext/searchbox",function(i){i.Search(o)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(o){o.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:s("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(o){o.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(o){o.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:s("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(o){o.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:s("Up","Up|Ctrl-P"),exec:function(o,i){o.navigateUp(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:s("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(o){o.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(o){o.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:s("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(o){o.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:s("Down","Down|Ctrl-N"),exec:function(o,i){o.navigateDown(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(o){o.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:s("Ctrl-Left","Option-Left"),exec:function(o){o.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:s("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(o){o.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(o){o.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:s("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(o){o.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:s("Left","Left|Ctrl-B"),exec:function(o,i){o.navigateLeft(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(o){o.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:s("Ctrl-Right","Option-Right"),exec:function(o){o.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:s("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(o){o.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(o){o.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:s("Shift-Right","Shift-Right"),exec:function(o){o.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:s("Right","Right|Ctrl-F"),exec:function(o,i){o.navigateRight(i.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(o){o.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:s(null,"Option-PageDown"),exec:function(o){o.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(o){o.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(o){o.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:s(null,"Option-PageUp"),exec:function(o){o.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(o){o.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:s("Ctrl-Up",null),exec:function(o){o.renderer.scrollBy(0,-2*o.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:s("Ctrl-Down",null),exec:function(o){o.renderer.scrollBy(0,2*o.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(o){o.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(o){o.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(o){o.commands.toggleRecording(o)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(o){o.commands.replay(o)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:s("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(o){o.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:s("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(o){o.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:s("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(o){o.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:s(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(o){},readOnly:!0},{name:"cut",description:"Cut",exec:function(o){var i=o.$copyWithEmptySelection&&o.selection.isEmpty(),n=i?o.selection.getLineRange():o.selection.getRange();o._emit("cut",n),n.isEmpty()||o.session.remove(n),o.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(o,i){o.$handlePaste(i)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:s("Ctrl-D","Command-D"),exec:function(o){o.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(o){o.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(o){o.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:s("Ctrl-/","Command-/"),exec:function(o){o.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:s("Ctrl-Shift-/","Command-Shift-/"),exec:function(o){o.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(o){o.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(o){o.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(o){w.loadModule("ace/ext/searchbox",function(i){i.Search(o,!0)})}},{name:"undo",description:"Undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(o){o.undo()}},{name:"redo",description:"Redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(o){o.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(o){o.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:s("Alt-Up","Option-Up"),exec:function(o){o.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(o){o.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:s("Alt-Down","Option-Down"),exec:function(o){o.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:s("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(o){o.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:s("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(o){o.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:s("Shift-Delete",null),exec:function(o){if(o.selection.isEmpty())o.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(o){o.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:s("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(o){o.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:s("Ctrl-Shift-Backspace",null),exec:function(o){var i=o.selection.getRange();i.start.column=0,o.session.remove(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:s("Ctrl-Shift-Delete",null),exec:function(o){var i=o.selection.getRange();i.end.column=Number.MAX_VALUE,o.session.remove(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(o){o.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(o){o.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(o){o.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:s("Tab","Tab"),exec:function(o){o.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(o){o.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(o){o.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(o,i){o.insert(i)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(o,i){o.insert($.stringRepeat(i.text||"",i.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:s(null,"Ctrl-O"),exec:function(o){o.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:s("Alt-Shift-X","Ctrl-T"),exec:function(o){o.transposeLetters()},multiSelectAction:function(o){o.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(o){o.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(o){o.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:s(null,null),exec:function(o){o.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:s("Ctrl-Shift-L","Command-Shift-L"),exec:function(o){var i=o.selection.getRange();i.start.column=i.end.column=0,i.end.row++,o.selection.setRange(i,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:s("Ctrl+F3","F3"),exec:function(o){o.openLink()}},{name:"joinlines",description:"Join lines",bindKey:s(null,null),exec:function(o){for(var i=o.selection.isBackwards(),n=i?o.selection.getSelectionLead():o.selection.getSelectionAnchor(),t=i?o.selection.getSelectionAnchor():o.selection.getSelectionLead(),e=o.session.doc.getLine(n.row).length,r=o.session.doc.getTextRange(o.selection.getRange()),l=r.replace(/\n\s*/," ").length,c=o.session.doc.getLine(n.row),u=n.row+1;u<=t.row+1;u++){var f=$.stringTrimLeft($.stringTrimRight(o.session.doc.getLine(u)));f.length!==0&&(f=" "+f),c+=f}t.row+1<o.session.doc.getLength()-1&&(c+=o.session.doc.getNewLineCharacter()),o.clearSelection(),o.session.doc.replace(new d(n.row,0,t.row+2,0),c),l>0?(o.selection.moveCursorTo(n.row,n.column),o.selection.selectTo(n.row,n.column+l)):(e=o.session.doc.getLine(n.row).length>e?e+1:e,o.selection.moveCursorTo(n.row,e))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:s(null,null),exec:function(o){var i=o.session.doc.getLength()-1,n=o.session.doc.getLine(i).length,t=o.selection.rangeList.ranges,e=[];t.length<1&&(t=[o.selection.getRange()]);for(var r=0;r<t.length;r++)r==t.length-1&&(t[r].end.row===i&&t[r].end.column===n||e.push(new d(t[r].end.row,t[r].end.column,i,n))),r===0?t[r].start.row===0&&t[r].start.column===0||e.push(new d(0,0,t[r].start.row,t[r].start.column)):e.push(new d(t[r-1].end.row,t[r-1].end.column,t[r].start.row,t[r].start.column));o.exitMultiSelectMode(),o.clearSelection();for(var r=0;r<e.length;r++)o.selection.addRange(e[r],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(o){o.selection.clearSelection(),o.navigateLineEnd(),o.insert(`
|
|
203
|
+
`)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(o){o.selection.clearSelection();var i=o.getCursorPosition();o.selection.moveTo(i.row-1,Number.MAX_VALUE),o.insert(`
|
|
204
|
+
`),i.row===0&&o.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(o){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),o.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:s("F1","F1"),exec:function(o){o.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:s(null,null),exec:function(o){o.prompt({$type:"modes"})},readOnly:!0}];for(var a=1;a<9;a++)y.commands.push({name:"foldToLevel"+a,description:"Fold To Level "+a,level:a,exec:function(o){o.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})});ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys"],function(g,y,R){"use strict";var $=g("../lib/keys"),w=function(){function s(a){this.editor=a,this.gutterLayer=a.renderer.$gutterLayer,this.element=a.renderer.$gutter,this.lines=a.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=this.editor.$mouseHandler.$tooltip}return s.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},s.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},s.prototype.$onGutterKeyDown=function(a){if(this.annotationTooltip.isOpen){a.preventDefault(),a.keyCode===$.escape&&this.annotationTooltip.hide();return}if(a.target===this.element){if(a.keyCode!=$.enter)return;a.preventDefault();var o=this.editor.getCursorPosition().row;this.editor.isRowVisible(o)||this.editor.scrollToLine(o,!0,!0),setTimeout(function(){var i=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),n=this.$findNearestFoldLaneWidget(i),t=this.$findNearestAnnotation(i);if(!(n===null&&t===null)){var e=this.$findClosestNumber(n,t,i);if(e===n)if(this.activeLane="fold",this.activeRowIndex=n,this.$isCustomWidgetVisible(n)){this.$focusCustomWidget(this.activeRowIndex);return}else{this.$focusFoldWidget(this.activeRowIndex);return}else{this.activeRowIndex=t,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}}}.bind(this),10);return}this.$handleGutterKeyboardInteraction(a),setTimeout(function(){this.editor._signal("gutterkeydown",new d(a,this))}.bind(this),10)},s.prototype.$handleGutterKeyboardInteraction=function(a){if(a.keyCode===$.tab){a.preventDefault();return}if(a.keyCode===$.escape){a.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(a.keyCode===$.up){switch(a.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(a.keyCode===$.down){switch(a.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(a.keyCode===$.left){a.preventDefault(),this.$switchLane("annotation");return}if(a.keyCode===$.right){a.preventDefault(),this.$switchLane("fold");return}if(a.keyCode===$.enter||a.keyCode===$.space){switch(a.preventDefault(),this.activeLane){case"fold":var o=this.$rowIndexToRow(this.activeRowIndex),i=this.editor.session.$gutterCustomWidgets[o];if(i)i.callbacks&&i.callbacks.onClick&&i.callbacks.onClick(a,o);else if(this.gutterLayer.session.foldWidgets[o]==="start"){this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),a),setTimeout(function(){this.$rowIndexToRow(this.activeRowIndex)!==o&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(o),this.$focusFoldWidget(this.activeRowIndex))}.bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex)),this.annotationTooltip.$fromKeyboard=!0;break}return}},s.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hide()},s.prototype.$isFoldWidgetVisible=function(a){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(a)),i=this.$getFoldWidget(a).style.display!=="none";return o&&i},s.prototype.$isCustomWidgetVisible=function(a){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(a)),i=!!this.$getCustomWidget(a);return o&&i},s.prototype.$isAnnotationVisible=function(a){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(a)),i=this.$getAnnotation(a).style.display!=="none";return o&&i},s.prototype.$getFoldWidget=function(a){var o=this.lines.get(a),i=o.element;return i.childNodes[1]},s.prototype.$getCustomWidget=function(a){var o=this.lines.get(a),i=o.element;return i.childNodes[3]},s.prototype.$getAnnotation=function(a){var o=this.lines.get(a),i=o.element;return i.childNodes[2]},s.prototype.$findNearestFoldLaneWidget=function(a){if(this.$isCustomWidgetVisible(a)||this.$isFoldWidgetVisible(a))return a;for(var o=0;a-o>0||a+o<this.lines.getLength()-1;){if(o++,a-o>=0&&this.$isCustomWidgetVisible(a-o))return a-o;if(a+o<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(a+o))return a+o;if(a-o>=0&&this.$isFoldWidgetVisible(a-o))return a-o;if(a+o<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(a+o))return a+o}return null},s.prototype.$findNearestAnnotation=function(a){if(this.$isAnnotationVisible(a))return a;for(var o=0;a-o>0||a+o<this.lines.getLength()-1;){if(o++,a-o>=0&&this.$isAnnotationVisible(a-o))return a-o;if(a+o<=this.lines.getLength()-1&&this.$isAnnotationVisible(a+o))return a+o}return null},s.prototype.$focusFoldWidget=function(a){if(a!=null){var o=this.$getFoldWidget(a);o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus()}},s.prototype.$focusCustomWidget=function(a){if(a!=null){var o=this.$getCustomWidget(a);o&&(o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus())}},s.prototype.$focusAnnotation=function(a){if(a!=null){var o=this.$getAnnotation(a);o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus()}},s.prototype.$blurFoldWidget=function(a){var o=this.$getFoldWidget(a);o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur()},s.prototype.$blurCustomWidget=function(a){var o=this.$getCustomWidget(a);o&&(o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur())},s.prototype.$blurAnnotation=function(a){var o=this.$getAnnotation(a);o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur()},s.prototype.$moveFoldWidgetUp=function(){for(var a=this.activeRowIndex;a>0;)if(a--,this.$isFoldWidgetVisible(a)||this.$isCustomWidgetVisible(a)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=a,this.$isFoldWidgetVisible(a)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},s.prototype.$moveFoldWidgetDown=function(){for(var a=this.activeRowIndex;a<this.lines.getLength()-1;)if(a++,this.$isFoldWidgetVisible(a)||this.$isCustomWidgetVisible(a)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=a,this.$isFoldWidgetVisible(a)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},s.prototype.$moveAnnotationUp=function(){for(var a=this.activeRowIndex;a>0;)if(a--,this.$isAnnotationVisible(a)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=a,this.$focusAnnotation(this.activeRowIndex);return}},s.prototype.$moveAnnotationDown=function(){for(var a=this.activeRowIndex;a<this.lines.getLength()-1;)if(a++,this.$isAnnotationVisible(a)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=a,this.$focusAnnotation(this.activeRowIndex);return}},s.prototype.$findClosestNumber=function(a,o,i){return a===null?o:o===null||Math.abs(i-a)<=Math.abs(i-o)?a:o},s.prototype.$switchLane=function(a){switch(a){case"annotation":if(this.activeLane==="annotation")break;var o=this.$findNearestAnnotation(this.activeRowIndex);if(o==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=o,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var i=this.$findNearestFoldLaneWidget(this.activeRowIndex);if(i===null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$isCustomWidgetVisible(i)?this.$focusCustomWidget(this.activeRowIndex):this.$focusFoldWidget(this.activeRowIndex);break}},s.prototype.$rowIndexToRow=function(a){var o=this.lines.get(a);return o?o.row:null},s.prototype.$rowToRowIndex=function(a){for(var o=0;o<this.lines.getLength();o++){var i=this.lines.get(o);if(i.row==a)return o}return null},s}();y.GutterKeyboardHandler=w;var d=function(){function s(a,o){this.gutterKeyboardHandler=o,this.domEvent=a}return s.prototype.getKey=function(){return $.keyCodeToString(this.domEvent.keyCode)},s.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},s.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},s.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},s}();y.GutterKeyboardEvent=d});ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys","ace/lib/event","ace/tooltip"],function(g,y,R){"use strict";var $=this&&this.__values||function(m){var h=typeof Symbol=="function"&&Symbol.iterator,S=h&&m[h],L=0;if(S)return S.call(m);if(m&&typeof m.length=="number")return{next:function(){return m&&L>=m.length&&(m=void 0),{value:m&&m[L++],done:!m}}};throw new TypeError(h?"Object is not iterable.":"Symbol.iterator is not defined.")},w=g("./lib/oop"),d=g("./lib/dom"),s=g("./lib/lang"),a=g("./lib/useragent"),o=g("./keyboard/textinput").TextInput,i=g("./mouse/mouse_handler").MouseHandler,n=g("./mouse/fold_handler").FoldHandler,t=g("./keyboard/keybinding").KeyBinding,e=g("./edit_session").EditSession,r=g("./search").Search,l=g("./range").Range,c=g("./lib/event_emitter").EventEmitter,u=g("./commands/command_manager").CommandManager,f=g("./commands/default_commands").commands,p=g("./config"),b=g("./token_iterator").TokenIterator,k=g("./keyboard/gutter_handler").GutterKeyboardHandler,v=g("./config").nls,A=g("./clipboard"),M=g("./lib/keys"),E=g("./lib/event"),_=g("./tooltip").HoverTooltip,C=function(){function m(h,S,L){this.id="editor"+ ++m.$uid,this.session,this.$toDestroy=[];var T=h.getContainerElement();this.container=T,this.renderer=h,this.commands=new u(a.isMac?"mac":"win",f),typeof document=="object"&&(this.textInput=new o(h.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new i(this),new n(this)),this.keyBinding=new t(this),this.$search=new r().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(I,D){D._$emitInputEvent.schedule(31)}),this.setSession(S||L&&L.session||new e("")),p.resetOptions(this),L&&this.setOptions(L),p._signal("editor",this)}return m.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},m.prototype.startOperation=function(h){this.session.startOperation(h)},m.prototype.endOperation=function(h){this.session.endOperation(h)},m.prototype.onStartOperation=function(h){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,h||(this.previousCommand=null)},m.prototype.onEndOperation=function(h){if(this.curOp&&this.session){if(h&&h.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var S=this.curOp.command,L=S&&S.scrollIntoView;if(L){switch(L){case"center-animate":L="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var T=this.selection.getRange(),I=this.renderer.layerConfig;(T.start.row>=I.lastRow||T.end.row<=I.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:break}L=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},m.prototype.$historyTracker=function(h){if(this.$mergeUndoDeltas){var S=this.prevOp,L=this.$mergeableCommands,T=S.command&&h.command.name==S.command.name;if(h.command.name=="insertstring"){var I=h.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),T=T&&this.mergeNextCommand&&(!/\s/.test(I)||/\s/.test(S.args)),this.mergeNextCommand=!0}else T=T&&L.indexOf(h.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(T=!1),T?this.session.mergeUndoDeltas=!0:L.indexOf(h.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},m.prototype.setKeyboardHandler=function(h,S){if(h&&typeof h=="string"&&h!="ace"){this.$keybindingId=h;var L=this;p.loadModule(["keybinding",h],function(T){L.$keybindingId==h&&L.keyBinding.setKeyboardHandler(T&&T.handler),S&&S()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(h),S&&S()},m.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},m.prototype.setSession=function(h){if(this.session!=h){this.curOp&&this.endOperation(),this.curOp={};var S=this.session;if(S){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var L=this.session.getSelection();L.off("changeCursor",this.$onCursorChange),L.off("changeSelection",this.$onSelectionChange)}this.session=h,h?(this.$onDocumentChange=this.onDocumentChange.bind(this),h.on("change",this.$onDocumentChange),this.renderer.setSession(h),this.$onChangeMode=this.onChangeMode.bind(this),h.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),h.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),h.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),h.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),h.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),h.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=h.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(h)),this._signal("changeSession",{session:h,oldSession:S}),this.curOp=null,S&&S._signal("changeEditor",{oldEditor:this}),S&&(S.$editor=null),h&&h._signal("changeEditor",{editor:this}),h&&(h.$editor=this),h&&!h.destroyed&&h.bgTokenizer.scheduleStart()}},m.prototype.getSession=function(){return this.session},m.prototype.setValue=function(h,S){return this.session.doc.setValue(h),S?S==1?this.navigateFileEnd():S==-1&&this.navigateFileStart():this.selectAll(),h},m.prototype.getValue=function(){return this.session.getValue()},m.prototype.getSelection=function(){return this.selection},m.prototype.resize=function(h){this.renderer.onResize(h)},m.prototype.setTheme=function(h,S){this.renderer.setTheme(h,S)},m.prototype.getTheme=function(){return this.renderer.getTheme()},m.prototype.setStyle=function(h,S){this.renderer.setStyle(h,S)},m.prototype.unsetStyle=function(h){this.renderer.unsetStyle(h)},m.prototype.getFontSize=function(){return this.getOption("fontSize")||d.computedStyle(this.container).fontSize},m.prototype.setFontSize=function(h){this.setOption("fontSize",h)},m.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var h=this;this.$highlightPending=!0,setTimeout(function(){h.$highlightPending=!1;var S=h.session;if(!(!S||S.destroyed)){S.$bracketHighlight&&(S.$bracketHighlight.markerIds.forEach(function(B){S.removeMarker(B)}),S.$bracketHighlight=null);var L=h.getCursorPosition(),T=h.getKeyboardHandler(),I=T&&T.$getDirectionForHighlight&&T.$getDirectionForHighlight(h),D=S.getMatchingBracketRanges(L,I);if(!D){var O=new b(S,L.row,L.column),N=O.getCurrentToken();if(N&&/\b(?:tag-open|tag-name)/.test(N.type)){var F=S.getMatchingTags(L);F&&(D=[F.openTagName.isEmpty()?F.openTag:F.openTagName,F.closeTagName.isEmpty()?F.closeTag:F.closeTagName])}}if(!D&&S.$mode.getMatching&&(D=S.$mode.getMatching(h.session)),!D){h.getHighlightIndentGuides()&&h.renderer.$textLayer.$highlightIndentGuide();return}var W="ace_bracket";Array.isArray(D)?D.length==1&&(W="ace_error_bracket"):D=[D],D.length==2&&(l.comparePoints(D[0].end,D[1].start)==0?D=[l.fromPoints(D[0].start,D[1].end)]:l.comparePoints(D[0].start,D[1].end)==0&&(D=[l.fromPoints(D[1].start,D[0].end)])),S.$bracketHighlight={ranges:D,markerIds:D.map(function(B){return S.addMarker(B,W,"text")})},h.getHighlightIndentGuides()&&h.renderer.$textLayer.$highlightIndentGuide()}},50)}},m.prototype.focus=function(){this.textInput.focus()},m.prototype.isFocused=function(){return this.textInput.isFocused()},m.prototype.blur=function(){this.textInput.blur()},m.prototype.onFocus=function(h){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",h))},m.prototype.onBlur=function(h){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",h))},m.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},m.prototype.onDocumentChange=function(h){var S=this.session.$useWrapMode,L=h.start.row==h.end.row?h.end.row:1/0;this.renderer.updateLines(h.start.row,L,S),this._signal("change",h),this.$cursorChange()},m.prototype.onTokenizerUpdate=function(h){var S=h.data;this.renderer.updateLines(S.first,S.last)},m.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},m.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},m.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},m.prototype.$updateHighlightActiveLine=function(){var h=this.getSession(),S;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(S=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(S=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(S=!1)),h.$highlightLineMarker&&!S)h.removeMarker(h.$highlightLineMarker.id),h.$highlightLineMarker=null;else if(!h.$highlightLineMarker&&S){var L=new l(S.row,S.column,S.row,1/0);L.id=h.addMarker(L,"ace_active-line","screenLine"),h.$highlightLineMarker=L}else S&&(h.$highlightLineMarker.start.row=S.row,h.$highlightLineMarker.end.row=S.row,h.$highlightLineMarker.start.column=S.column,h._signal("changeBackMarker"))},m.prototype.onSelectionChange=function(h){var S=this.session;if(S.$selectionMarker&&S.removeMarker(S.$selectionMarker),S.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var L=this.selection.getRange(),T=this.getSelectionStyle();S.$selectionMarker=S.addMarker(L,"ace_selection",T)}var I=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(I),this._signal("changeSelection")},m.prototype.$getSelectionHighLightRegexp=function(){var h=this.session,S=this.getSelectionRange();if(!(S.isEmpty()||S.isMultiLine())){var L=S.start.column,T=S.end.column,I=h.getLine(S.start.row),D=I.substring(L,T);if(!(D.length>5e3||!/[\w\d]/.test(D))){var O=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:D}),N=I.substring(L-1,T+1);if(O.test(N))return O}}},m.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},m.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},m.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},m.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},m.prototype.onChangeMode=function(h){this.renderer.updateText(),this._emit("changeMode",h)},m.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},m.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},m.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},m.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},m.prototype.getCopyText=function(){var h=this.getSelectedText(),S=this.session.doc.getNewLineCharacter(),L=!1;if(!h&&this.$copyWithEmptySelection){L=!0;for(var T=this.selection.getAllRanges(),I=0;I<T.length;I++){var D=T[I];I&&T[I-1].start.row==D.start.row||(h+=this.session.getLine(D.start.row)+S)}}var O={text:h};return this._signal("copy",O),A.lineMode=L?O.text:!1,O.text},m.prototype.onCopy=function(){this.commands.exec("copy",this)},m.prototype.onCut=function(){this.commands.exec("cut",this)},m.prototype.onPaste=function(h,S){var L={text:h,event:S};this.commands.exec("paste",this,L)},m.prototype.$handlePaste=function(h){typeof h=="string"&&(h={text:h}),this._signal("paste",h);var S=h.text,L=S===A.lineMode,T=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)L?T.insert({row:this.selection.lead.row,column:0},S):this.insert(S);else if(L)this.selection.rangeList.ranges.forEach(function(W){T.insert({row:W.start.row,column:0},S)});else{var I=S.split(/\r\n|\r|\n/),D=this.selection.rangeList.ranges,O=I.length==2&&(!I[0]||!I[1]);if(I.length!=D.length||O)return this.commands.exec("insertstring",this,S);for(var N=D.length;N--;){var F=D[N];F.isEmpty()||T.remove(F),T.insert(F.start,I[N])}}},m.prototype.execCommand=function(h,S){return this.commands.exec(h,this,S)},m.prototype.insert=function(h,S){var L=this.session,T=L.getMode(),I=this.getCursorPosition();if(this.getBehavioursEnabled()&&!S){var D=T.transformAction(L.getState(I.row),"insertion",this,L,h);D&&(h!==D.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),h=D.text)}if(h==" "&&(h=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&h.indexOf(`
|
|
205
|
+
`)==-1){var O=l.fromPoints(I,I);O.end.column+=h.length,this.session.remove(O)}}else{var O=this.getSelectionRange();I=this.session.remove(O),this.clearSelection()}if(h==`
|
|
206
|
+
`||h==`\r
|
|
207
|
+
`){var B=L.getLine(I.row);if(I.column>B.search(/\S|$/)){var N=B.substr(I.column).search(/\S|$/);L.doc.removeInLine(I.row,I.column,I.column+N)}}this.clearSelection();var F=I.column,W=L.getState(I.row),B=L.getLine(I.row),H=T.checkOutdent(W,B,h);if(L.insert(I,h),D&&D.selection&&(D.selection.length==2?this.selection.setSelectionRange(new l(I.row,F+D.selection[0],I.row,F+D.selection[1])):this.selection.setSelectionRange(new l(I.row+D.selection[0],D.selection[1],I.row+D.selection[2],D.selection[3]))),this.$enableAutoIndent){if(L.getDocument().isNewLine(h)){var z=T.getNextLineIndent(W,B.slice(0,I.column),L.getTabString());L.insert({row:I.row+1,column:0},z)}H&&T.autoOutdent(W,L,I.row)}},m.prototype.autoIndent=function(){for(var h=this.session,S=h.getMode(),L=this.selection.isEmpty()?[new l(0,0,h.doc.getLength()-1,0)]:this.selection.getAllRanges(),T="",I="",D="",O=h.getTabString(),N=0;N<L.length;N++)for(var F=L[N].start.row,W=L[N].end.row,B=F;B<=W;B++){B>0&&(T=h.getState(B-1),I=h.getLine(B-1),D=S.getNextLineIndent(T,I,O));var H=h.getLine(B),z=S.$getIndent(H);if(D!==z){if(z.length>0){var U=new l(B,0,B,z.length);h.remove(U)}D.length>0&&h.insert({row:B,column:0},D)}S.autoOutdent(T,h,B)}},m.prototype.onTextInput=function(h,S){if(!S)return this.keyBinding.onTextInput(h);this.startOperation({command:{name:"insertstring"}});var L=this.applyComposition.bind(this,h,S);this.selection.rangeCount?this.forEachSelection(L):L(),this.endOperation()},m.prototype.applyComposition=function(h,S){if(S.extendLeft||S.extendRight){var L=this.selection.getRange();L.start.column-=S.extendLeft,L.end.column+=S.extendRight,L.start.column<0&&(L.start.row--,L.start.column+=this.session.getLine(L.start.row).length+1),this.selection.setRange(L),!h&&!L.isEmpty()&&this.remove()}if((h||!this.selection.isEmpty())&&this.insert(h,!0),S.restoreStart||S.restoreEnd){var L=this.selection.getRange();L.start.column-=S.restoreStart,L.end.column-=S.restoreEnd,this.selection.setRange(L)}},m.prototype.onCommandKey=function(h,S,L){return this.keyBinding.onCommandKey(h,S,L)},m.prototype.setOverwrite=function(h){this.session.setOverwrite(h)},m.prototype.getOverwrite=function(){return this.session.getOverwrite()},m.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},m.prototype.setScrollSpeed=function(h){this.setOption("scrollSpeed",h)},m.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},m.prototype.setDragDelay=function(h){this.setOption("dragDelay",h)},m.prototype.getDragDelay=function(){return this.getOption("dragDelay")},m.prototype.setSelectionStyle=function(h){this.setOption("selectionStyle",h)},m.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},m.prototype.setHighlightActiveLine=function(h){this.setOption("highlightActiveLine",h)},m.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},m.prototype.setHighlightGutterLine=function(h){this.setOption("highlightGutterLine",h)},m.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},m.prototype.setHighlightSelectedWord=function(h){this.setOption("highlightSelectedWord",h)},m.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},m.prototype.setAnimatedScroll=function(h){this.renderer.setAnimatedScroll(h)},m.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},m.prototype.setShowInvisibles=function(h){this.renderer.setShowInvisibles(h)},m.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},m.prototype.setDisplayIndentGuides=function(h){this.renderer.setDisplayIndentGuides(h)},m.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},m.prototype.setHighlightIndentGuides=function(h){this.renderer.setHighlightIndentGuides(h)},m.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},m.prototype.setShowPrintMargin=function(h){this.renderer.setShowPrintMargin(h)},m.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},m.prototype.setPrintMarginColumn=function(h){this.renderer.setPrintMarginColumn(h)},m.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},m.prototype.setReadOnly=function(h){this.setOption("readOnly",h)},m.prototype.getReadOnly=function(){return this.getOption("readOnly")},m.prototype.setBehavioursEnabled=function(h){this.setOption("behavioursEnabled",h)},m.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},m.prototype.setWrapBehavioursEnabled=function(h){this.setOption("wrapBehavioursEnabled",h)},m.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},m.prototype.setShowFoldWidgets=function(h){this.setOption("showFoldWidgets",h)},m.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},m.prototype.setFadeFoldWidgets=function(h){this.setOption("fadeFoldWidgets",h)},m.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},m.prototype.remove=function(h){this.selection.isEmpty()&&(h=="left"?this.selection.selectLeft():this.selection.selectRight());var S=this.getSelectionRange();if(this.getBehavioursEnabled()){var L=this.session,T=L.getState(S.start.row),I=L.getMode().transformAction(T,"deletion",this,L,S);if(S.end.column===0){var D=L.getTextRange(S);if(D[D.length-1]==`
|
|
208
|
+
`){var O=L.getLine(S.end.row);/^\s+$/.test(O)&&(S.end.column=O.length)}}I&&(S=I)}this.session.remove(S),this.clearSelection()},m.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},m.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},m.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},m.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var h=this.getSelectionRange();h.start.column==h.end.column&&h.start.row==h.end.row&&(h.end.column=0,h.end.row++),this.session.remove(h),this.clearSelection()},m.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var h=this.getCursorPosition();this.insert(`
|
|
209
|
+
`),this.moveCursorToPosition(h)},m.prototype.setGhostText=function(h,S){this.renderer.setGhostText(h,S)},m.prototype.removeGhostText=function(){this.renderer.removeGhostText()},m.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var h=this.getCursorPosition(),S=h.column;if(S!==0){var L=this.session.getLine(h.row),T,I;S<L.length?(T=L.charAt(S)+L.charAt(S-1),I=new l(h.row,S-1,h.row,S+1)):(T=L.charAt(S-1)+L.charAt(S-2),I=new l(h.row,S-2,h.row,S)),this.session.replace(I,T),this.session.selection.moveToPosition(I.end)}}},m.prototype.toLowerCase=function(){var h=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var S=this.getSelectionRange(),L=this.session.getTextRange(S);this.session.replace(S,L.toLowerCase()),this.selection.setSelectionRange(h)},m.prototype.toUpperCase=function(){var h=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var S=this.getSelectionRange(),L=this.session.getTextRange(S);this.session.replace(S,L.toUpperCase()),this.selection.setSelectionRange(h)},m.prototype.indent=function(){var h=this.session,S=this.getSelectionRange();if(S.start.row<S.end.row){var L=this.$getSelectedRows();h.indentRows(L.first,L.last," ");return}else if(S.start.column<S.end.column){var T=h.getTextRange(S);if(!/^\s+$/.test(T)){var L=this.$getSelectedRows();h.indentRows(L.first,L.last," ");return}}var I=h.getLine(S.start.row),D=S.start,O=h.getTabSize(),N=h.documentToScreenColumn(D.row,D.column);if(this.session.getUseSoftTabs())var F=O-N%O,W=s.stringRepeat(" ",F);else{for(var F=N%O;I[S.start.column-1]==" "&&F;)S.start.column--,F--;this.selection.setSelectionRange(S),W=" "}return this.insert(W)},m.prototype.blockIndent=function(){var h=this.$getSelectedRows();this.session.indentRows(h.first,h.last," ")},m.prototype.blockOutdent=function(){var h=this.session.getSelection();this.session.outdentRows(h.getRange())},m.prototype.sortLines=function(){for(var h=this.$getSelectedRows(),S=this.session,L=[],T=h.first;T<=h.last;T++)L.push(S.getLine(T));L.sort(function(O,N){return O.toLowerCase()<N.toLowerCase()?-1:O.toLowerCase()>N.toLowerCase()?1:0});for(var I=new l(0,0,0,0),T=h.first;T<=h.last;T++){var D=S.getLine(T);I.start.row=T,I.end.row=T,I.end.column=D.length,S.replace(I,L[T-h.first])}},m.prototype.toggleCommentLines=function(){var h=this.session.getState(this.getCursorPosition().row),S=this.$getSelectedRows();this.session.getMode().toggleCommentLines(h,this.session,S.first,S.last)},m.prototype.toggleBlockComment=function(){var h=this.getCursorPosition(),S=this.session.getState(h.row),L=this.getSelectionRange();this.session.getMode().toggleBlockComment(S,this.session,L,h)},m.prototype.getNumberAt=function(h,S){var L=/[\-]?[0-9]+(?:\.[0-9]+)?/g;L.lastIndex=0;for(var T=this.session.getLine(h);L.lastIndex<S;){var I=L.exec(T);if(I.index<=S&&I.index+I[0].length>=S){var D={value:I[0],start:I.index,end:I.index+I[0].length};return D}}return null},m.prototype.modifyNumber=function(h){var S=this.selection.getCursor().row,L=this.selection.getCursor().column,T=new l(S,L-1,S,L),I=this.session.getTextRange(T);if(!isNaN(parseFloat(I))&&isFinite(I)){var D=this.getNumberAt(S,L);if(D){var O=D.value.indexOf(".")>=0?D.start+D.value.indexOf(".")+1:D.end,N=D.start+D.value.length-O,F=parseFloat(D.value);F*=Math.pow(10,N),O!==D.end&&L<O?h*=Math.pow(10,D.end-L-1):h*=Math.pow(10,D.end-L),F+=h,F/=Math.pow(10,N);var W=F.toFixed(N),B=new l(S,D.start,S,D.end);this.session.replace(B,W),this.moveCursorTo(S,Math.max(D.start+1,L+W.length-D.value.length))}}else this.toggleWord()},m.prototype.toggleWord=function(){var h=this.selection.getCursor().row,S=this.selection.getCursor().column;this.selection.selectWord();var L=this.getSelectedText(),T=this.selection.getWordRange().start.column,I=L.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),D=S-T-1;D<0&&(D=0);var O=0,N=0,F=this;L.match(/[A-Za-z0-9_]+/)&&I.forEach(function(V,Y){N=O+V.length,D>=O&&D<=N&&(L=V,F.selection.clearSelection(),F.moveCursorTo(h,O+T),F.selection.selectTo(h,N+T)),O=N});for(var W=this.$toggleWordPairs,B,H=0;H<W.length;H++)for(var z=W[H],U=0;U<=1;U++){var j=+!U,P=L.match(new RegExp("^\\s?_?("+s.escapeRegExp(z[U])+")\\s?$","i"));if(P){var G=L.match(new RegExp("([_]|^|\\s)("+s.escapeRegExp(P[1])+")($|\\s)","g"));G&&(B=L.replace(new RegExp(s.escapeRegExp(z[U]),"i"),function(V){var Y=z[j];return V.toUpperCase()==V?Y=Y.toUpperCase():V.charAt(0).toUpperCase()==V.charAt(0)&&(Y=Y.substr(0,0)+z[j].charAt(0).toUpperCase()+Y.substr(1)),Y}),this.insert(B),B="")}}},m.prototype.findLinkAt=function(h,S){var L,T,I=this.session.getLine(h),D=I.split(/((?:https?|ftp):\/\/[\S]+)/),O=S;O<0&&(O=0);var N=0,F=0,W;try{for(var B=$(D),H=B.next();!H.done;H=B.next()){var z=H.value;if(F=N+z.length,O>=N&&O<=F&&z.match(/((?:https?|ftp):\/\/[\S]+)/)){W=z.replace(/[\s:.,'";}\]]+$/,"");break}N=F}}catch(U){L={error:U}}finally{try{H&&!H.done&&(T=B.return)&&T.call(B)}finally{if(L)throw L.error}}return W},m.prototype.openLink=function(){var h=this.selection.getCursor(),S=this.findLinkAt(h.row,h.column);return S&&window.open(S,"_blank"),S!=null},m.prototype.removeLines=function(){var h=this.$getSelectedRows();this.session.removeFullLines(h.first,h.last),this.clearSelection()},m.prototype.duplicateSelection=function(){var h=this.selection,S=this.session,L=h.getRange(),T=h.isBackwards();if(L.isEmpty()){var I=L.start.row;S.duplicateLines(I,I)}else{var D=T?L.start:L.end,O=S.insert(D,S.getTextRange(L));L.start=D,L.end=O,h.setSelectionRange(L,T)}},m.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},m.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},m.prototype.moveText=function(h,S,L){return this.session.moveText(h,S,L)},m.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},m.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},m.prototype.$moveLines=function(h,S){var L,T,I=this.selection;if(!I.inMultiSelectMode||this.inVirtualSelectionMode){var D=I.toOrientedRange();L=this.$getSelectedRows(D),T=this.session.$moveLines(L.first,L.last,S?0:h),S&&h==-1&&(T=0),D.moveBy(T,0),I.fromOrientedRange(D)}else{var O=I.rangeList.ranges;I.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var N=0,F=0,W=O.length,B=0;B<W;B++){var H=B;O[B].moveBy(N,0),L=this.$getSelectedRows(O[B]);for(var z=L.first,U=L.last;++B<W;){F&&O[B].moveBy(F,0);var j=this.$getSelectedRows(O[B]);if(S&&j.first!=U)break;if(!S&&j.first>U+1)break;U=j.last}for(B--,N=this.session.$moveLines(z,U,S?0:h),S&&h==-1&&(H=B+1);H<=B;)O[H].moveBy(N,0),H++;S||(N=0),F+=N}I.fromOrientedRange(I.ranges[0]),I.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},m.prototype.$getSelectedRows=function(h){return h=(h||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(h.start.row),last:this.session.getRowFoldEnd(h.end.row)}},m.prototype.onCompositionStart=function(h){this.renderer.showComposition(h)},m.prototype.onCompositionUpdate=function(h){this.renderer.setCompositionText(h)},m.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},m.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},m.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},m.prototype.isRowVisible=function(h){return h>=this.getFirstVisibleRow()&&h<=this.getLastVisibleRow()},m.prototype.isRowFullyVisible=function(h){return h>=this.renderer.getFirstFullyVisibleRow()&&h<=this.renderer.getLastFullyVisibleRow()},m.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},m.prototype.$moveByPage=function(h,S){var L=this.renderer,T=this.renderer.layerConfig,I=h*Math.floor(T.height/T.lineHeight);S===!0?this.selection.$moveSelection(function(){this.moveCursorBy(I,0)}):S===!1&&(this.selection.moveCursorBy(I,0),this.selection.clearSelection());var D=L.scrollTop;L.scrollBy(0,I*T.lineHeight),S!=null&&L.scrollCursorIntoView(null,.5),L.animateScrolling(D)},m.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},m.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},m.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},m.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},m.prototype.scrollPageDown=function(){this.$moveByPage(1)},m.prototype.scrollPageUp=function(){this.$moveByPage(-1)},m.prototype.scrollToRow=function(h){this.renderer.scrollToRow(h)},m.prototype.scrollToLine=function(h,S,L,T){this.renderer.scrollToLine(h,S,L,T)},m.prototype.centerSelection=function(){var h=this.getSelectionRange(),S={row:Math.floor(h.start.row+(h.end.row-h.start.row)/2),column:Math.floor(h.start.column+(h.end.column-h.start.column)/2)};this.renderer.alignCursor(S,.5)},m.prototype.getCursorPosition=function(){return this.selection.getCursor()},m.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},m.prototype.getSelectionRange=function(){return this.selection.getRange()},m.prototype.selectAll=function(){this.selection.selectAll()},m.prototype.clearSelection=function(){this.selection.clearSelection()},m.prototype.moveCursorTo=function(h,S){this.selection.moveCursorTo(h,S)},m.prototype.moveCursorToPosition=function(h){this.selection.moveCursorToPosition(h)},m.prototype.jumpToMatching=function(h,S){var L=this.getCursorPosition(),T=new b(this.session,L.row,L.column),I=T.getCurrentToken(),D=0;I&&I.type.indexOf("tag-name")!==-1&&(I=T.stepBackward());var O=I||T.stepForward();if(O){var N,F=!1,W={},B=L.column-O.start,H,z={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(O.value.match(/[{}()\[\]]/g)){for(;B<O.value.length&&!F;B++)if(z[O.value[B]])switch(H=z[O.value[B]]+"."+O.type.replace("rparen","lparen"),isNaN(W[H])&&(W[H]=0),O.value[B]){case"(":case"[":case"{":W[H]++;break;case")":case"]":case"}":W[H]--,W[H]===-1&&(N="bracket",F=!0);break}}else O.type.indexOf("tag-name")!==-1&&(isNaN(W[O.value])&&(W[O.value]=0),I.value==="<"&&D>1?W[O.value]++:I.value==="</"&&W[O.value]--,W[O.value]===-1&&(N="tag",F=!0));F||(I=O,D++,O=T.stepForward(),B=0)}while(O&&!F);if(N){var U,j;if(N==="bracket")U=this.session.getBracketRange(L),U||(U=new l(T.getCurrentTokenRow(),T.getCurrentTokenColumn()+B-1,T.getCurrentTokenRow(),T.getCurrentTokenColumn()+B-1),j=U.start,(S||j.row===L.row&&Math.abs(j.column-L.column)<2)&&(U=this.session.getBracketRange(j)));else if(N==="tag"){if(!O||O.type.indexOf("tag-name")===-1)return;if(U=new l(T.getCurrentTokenRow(),T.getCurrentTokenColumn()-2,T.getCurrentTokenRow(),T.getCurrentTokenColumn()-2),U.compare(L.row,L.column)===0){var P=this.session.getMatchingTags(L);P&&(P.openTag.contains(L.row,L.column)?(U=P.closeTag,j=U.start):(U=P.openTag,P.closeTag.start.row===L.row&&P.closeTag.start.column===L.column?j=U.end:j=U.start))}j=j||U.start}j=U&&U.cursor||j,j&&(h?U&&S?this.selection.setRange(U):U&&U.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(j.row,j.column):this.selection.moveTo(j.row,j.column))}}},m.prototype.gotoLine=function(h,S,L){this.selection.clearSelection(),this.session.unfold({row:h-1,column:S||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(h-1,S||0),this.isRowFullyVisible(h-1)||this.scrollToLine(h-1,!0,L)},m.prototype.navigateTo=function(h,S){this.selection.moveTo(h,S)},m.prototype.navigateUp=function(h){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var S=this.selection.anchor.getPosition();return this.moveCursorToPosition(S)}this.selection.clearSelection(),this.selection.moveCursorBy(-h||-1,0)},m.prototype.navigateDown=function(h){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var S=this.selection.anchor.getPosition();return this.moveCursorToPosition(S)}this.selection.clearSelection(),this.selection.moveCursorBy(h||1,0)},m.prototype.navigateLeft=function(h){if(this.selection.isEmpty())for(h=h||1;h--;)this.selection.moveCursorLeft();else{var S=this.getSelectionRange().start;this.moveCursorToPosition(S)}this.clearSelection()},m.prototype.navigateRight=function(h){if(this.selection.isEmpty())for(h=h||1;h--;)this.selection.moveCursorRight();else{var S=this.getSelectionRange().end;this.moveCursorToPosition(S)}this.clearSelection()},m.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},m.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},m.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},m.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},m.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},m.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},m.prototype.replace=function(h,S){S&&this.$search.set(S);var L=this.$search.find(this.session),T=0;return L&&(this.$tryReplace(L,h)&&(T=1),this.selection.setSelectionRange(L),this.renderer.scrollSelectionIntoView(L.start,L.end)),T},m.prototype.replaceAll=function(h,S){S&&this.$search.set(S);var L=this.$search.findAll(this.session),T=0;if(!L.length)return T;var I=this.getSelectionRange();this.selection.moveTo(0,0);for(var D=L.length-1;D>=0;--D)this.$tryReplace(L[D],h)&&T++;return this.selection.setSelectionRange(I),T},m.prototype.$tryReplace=function(h,S){var L=this.session.getTextRange(h);return S=this.$search.replace(L,S),S!==null?(h.end=this.session.replace(h,S),h):null},m.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},m.prototype.find=function(h,S,L){S||(S={}),typeof h=="string"||h instanceof RegExp?S.needle=h:typeof h=="object"&&w.mixin(S,h);var T=this.selection.getRange();S.needle==null&&(h=this.session.getTextRange(T)||this.$search.$options.needle,h||(T=this.session.getWordRange(T.start.row,T.start.column),h=this.session.getTextRange(T)),this.$search.set({needle:h})),this.$search.set(S),S.start||this.$search.set({start:T});var I=this.$search.find(this.session);if(S.preventScroll)return I;if(I)return this.revealRange(I,L),I;S.backwards?T.start=T.end:T.end=T.start,this.selection.setRange(T)},m.prototype.findNext=function(h,S){this.find({skipCurrent:!0,backwards:!1},h,S)},m.prototype.findPrevious=function(h,S){this.find(h,{skipCurrent:!0,backwards:!0},S)},m.prototype.revealRange=function(h,S){this.session.unfold(h),this.selection.setSelectionRange(h);var L=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(h.start,h.end,.5),S!==!1&&this.renderer.animateScrolling(L)},m.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},m.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},m.prototype.destroy=function(){this.destroyed=!0,this.$toDestroy&&(this.$toDestroy.forEach(function(h){h.destroy()}),this.$toDestroy=[]),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},m.prototype.setAutoScrollEditorIntoView=function(h){if(h){var S,L=this,T=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var I=this.$scrollAnchor;I.style.cssText="position:absolute",this.container.insertBefore(I,this.container.firstChild);var D=this.on("changeSelection",function(){T=!0}),O=this.renderer.on("beforeRender",function(){T&&(S=L.renderer.container.getBoundingClientRect())}),N=this.renderer.on("afterRender",function(){if(T&&S&&(L.isFocused()||L.searchBox&&L.searchBox.isFocused())){var F=L.renderer,W=F.$cursorLayer.$pixelPos,B=F.layerConfig,H=W.top-B.offset;W.top>=0&&H+S.top<0?T=!0:W.top<B.height&&W.top+S.top+B.lineHeight>window.innerHeight?T=!1:T=null,T!=null&&(I.style.top=H+"px",I.style.left=W.left+"px",I.style.height=B.lineHeight+"px",I.scrollIntoView(T)),T=S=null}});this.setAutoScrollEditorIntoView=function(F){F||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",D),this.renderer.off("afterRender",N),this.renderer.off("beforeRender",O))}}},m.prototype.$resetCursorStyle=function(){var h=this.$cursorStyle||"ace",S=this.renderer.$cursorLayer;S&&(S.setSmoothBlinking(/smooth/.test(h)),S.isBlinking=!this.$readOnly&&h!="wide",d.setCssClass(S.element,"ace_slim-cursors",/slim/.test(h)))},m.prototype.prompt=function(h,S,L){var T=this;p.loadModule("ace/ext/prompt",function(I){I.prompt(T,h,S,L)})},m}();C.$uid=0,C.prototype.curOp=null,C.prototype.prevOp={},C.prototype.$mergeableCommands=["backspace","del","insertstring"],C.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],w.implement(C.prototype,c),p.defineOptions(C.prototype,"editor",{selectionStyle:{set:function(m){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:m})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(m){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(m){var h=this;if(this.textInput.setReadOnly(m),!this.destroyed){this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(L){var T=!1;if(L&&L.type=="keydown"){if(L&&L.key&&!L.ctrlKey&&!L.metaKey&&(L.key==" "&&L.preventDefault(),T=L.key.length==1),!T)return}else L&&L.type!=="exec"&&(T=!0);if(T){h.hoverTooltip||(h.hoverTooltip=new _);var I=d.createElement("div");I.textContent=v("editor.tooltip.disable-editing","Editing is disabled"),h.hoverTooltip.isOpen||h.hoverTooltip.showForRange(h,h.getSelectionRange(),I)}else h.hoverTooltip&&h.hoverTooltip.isOpen&&h.hoverTooltip.hide()});var S=this.textInput.getElement();m?(E.addListener(S,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(E.removeListener(S,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))}},initialValue:!1},copyWithEmptySelection:{set:function(m){this.textInput.setCopyWithEmptySelection(m)},initialValue:!1},cursorStyle:{set:function(m){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(m){this.setAutoScrollEditorIntoView(m)}},keyboardHandler:{set:function(m){this.setKeyboardHandler(m)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(m){this.session.setValue(m)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(m){this.setSession(m)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(m){this.renderer.$gutterLayer.setShowLineNumbers(m),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),m&&this.$relativeLineNumbers?x.attach(this):x.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(m){this.$showLineNumbers&&m?x.attach(this):x.detach(this)}},placeholder:{set:function(m){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var h=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(h&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),d.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!h&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),d.addCssClass(this.container,"ace_hasPlaceholder");var S=d.createElement("div");S.className="ace_placeholder",S.textContent=this.$placeholder||"",this.renderer.placeholderNode=S,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!h&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(m){var h={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(T){T.blur(),T.renderer.scroller.focus()},readOnly:!0},S=function(T){if(T.target==this.renderer.scroller&&T.keyCode===M.enter){T.preventDefault();var I=this.getCursorPosition().row;this.isRowVisible(I)||this.scrollToLine(I,!0,!0),this.focus()}},L;m?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(a.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",v("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",v("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",S.bind(this)),this.commands.addCommand(h),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",v("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",v("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),L||(L=new k(this)),L.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",S.bind(this)),this.commands.removeCommand(h),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),L&&L.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(m){this.$textInputAriaLabel=m},initialValue:""},enableMobileMenu:{set:function(m){this.$enableMobileMenu=m},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var x={getText:function(m,h){return(Math.abs(m.selection.lead.row-h)||h+1+(h<9?"\xB7":""))+""},getWidth:function(m,h,S){return Math.max(h.toString().length,(S.lastRow+1).toString().length,2)*S.characterWidth},update:function(m,h){h.renderer.$loop.schedule(h.renderer.CHANGE_GUTTER)},attach:function(m){m.renderer.$gutterLayer.$renderer=this,m.on("changeSelection",this.update),this.update(null,m)},detach:function(m){m.renderer.$gutterLayer.$renderer==this&&(m.renderer.$gutterLayer.$renderer=null),m.off("changeSelection",this.update),this.update(null,m)}};y.Editor=C});ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(g,y,R){"use strict";var $=g("../lib/dom"),w=function(){function d(s,a){this.element=s,this.canvasHeight=a||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return d.prototype.moveContainer=function(s){$.translate(this.element,0,-(s.firstRowScreen*s.lineHeight%this.canvasHeight)-s.offset*this.$offsetCoefficient)},d.prototype.pageChanged=function(s,a){return Math.floor(s.firstRowScreen*s.lineHeight/this.canvasHeight)!==Math.floor(a.firstRowScreen*a.lineHeight/this.canvasHeight)},d.prototype.computeLineTop=function(s,a,o){var i=a.firstRowScreen*a.lineHeight,n=Math.floor(i/this.canvasHeight),t=o.documentToScreenRow(s,0)*a.lineHeight;return t-n*this.canvasHeight},d.prototype.computeLineHeight=function(s,a,o){return a.lineHeight*o.getRowLineCount(s)},d.prototype.getLength=function(){return this.cells.length},d.prototype.get=function(s){return this.cells[s]},d.prototype.shift=function(){this.$cacheCell(this.cells.shift())},d.prototype.pop=function(){this.$cacheCell(this.cells.pop())},d.prototype.push=function(s){if(Array.isArray(s)){this.cells.push.apply(this.cells,s);for(var a=$.createFragment(this.element),o=0;o<s.length;o++)a.appendChild(s[o].element);this.element.appendChild(a)}else this.cells.push(s),this.element.appendChild(s.element)},d.prototype.unshift=function(s){if(Array.isArray(s)){this.cells.unshift.apply(this.cells,s);for(var a=$.createFragment(this.element),o=0;o<s.length;o++)a.appendChild(s[o].element);this.element.firstChild?this.element.insertBefore(a,this.element.firstChild):this.element.appendChild(a)}else this.cells.unshift(s),this.element.insertAdjacentElement("afterbegin",s.element)},d.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},d.prototype.$cacheCell=function(s){s&&(s.element.remove(),this.cellCache.push(s))},d.prototype.createCell=function(s,a,o,i){var n=this.cellCache.pop();if(!n){var t=$.createElement("div");i&&i(t),this.element.appendChild(t),n={element:t,text:"",row:s}}return n.row=s,n},d}();y.Lines=w});ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(g,y,R){"use strict";var $=g("../lib/dom"),w=g("../lib/oop"),d=g("../lib/lang"),s=g("../lib/event_emitter").EventEmitter,a=g("./lines").Lines,o=g("../config").nls,i=function(){function t(e){this.$showCursorMarker=null,this.element=$.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new a(this.element),this.$lines.$offsetCoefficient=1}return t.prototype.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},t.prototype.addGutterDecoration=function(e,r){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,r)},t.prototype.removeGutterDecoration=function(e,r){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,r)},t.prototype.setAnnotations=function(e){this.$annotations=[];for(var r=0;r<e.length;r++){var l=e[r],c=l.row,u=this.$annotations[c];u||(u=this.$annotations[c]={text:[],type:[],displayText:[]});var f=l.text,p=l.text,b=l.type;f=f?d.escapeHTML(f):l.html||"",p=p||l.html||"",u.text.indexOf(f)===-1&&(u.text.push(f),u.type.push(b),u.displayText.push(p));var k=l.className;k?u.className=k:b==="error"?u.className=" ace_error":b==="security"&&!/\bace_error\b/.test(u.className)?u.className=" ace_security":b==="warning"&&!/\bace_(error|security)\b/.test(u.className)?u.className=" ace_warning":b==="info"&&!u.className?u.className=" ace_info":b==="hint"&&!u.className&&(u.className=" ace_hint")}},t.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var r=e.start.row,l=e.end.row-r;if(l!==0)if(e.action=="remove")this.$annotations.splice(r,l+1,null);else{var c=new Array(l+1);c.unshift(r,1),this.$annotations.splice.apply(this.$annotations,c)}}},t.prototype.update=function(e){this.config=e;var r=this.session,l=e.firstRow,c=Math.min(e.lastRow+e.gutterOffset,r.getLength()-1);this.oldLastRow=c,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var u=r.getNextFoldLine(l),f=u?u.start.row:1/0,p=null,b=-1,k=l;;){if(k>f&&(k=u.end.row+1,u=r.getNextFoldLine(k,u),f=u?u.start.row:1/0),k>c){for(;this.$lines.getLength()>b+1;)this.$lines.pop();break}p=this.$lines.get(++b),p?p.row=k:(p=this.$lines.createCell(k,e,this.session,n),this.$lines.push(p)),this.$renderCell(p,e,u,k),k++}this._signal("afterRender"),this.$updateGutterWidth(e),this.$showCursorMarker&&this.$highlightGutterLine&&this.$updateCursorMarker()},t.prototype.$updateGutterWidth=function(e){var r=this.session,l=r.gutterRenderer||this.$renderer,c=r.$firstLineNumber,u=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||r.$useWrapMode)&&(u=r.getLength()+c-1);var f=l?l.getWidth(r,u,e):u.toString().length*e.characterWidth,p=this.$padding||this.$computePadding();f+=p.left+p.right,f!==this.gutterWidth&&!isNaN(f)&&(this.gutterWidth=f,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",f))},t.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},t.prototype.updateLineHighlight=function(){if(this.$showCursorMarker&&this.$updateCursorMarker(),!!this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!(this.$cursorCell&&this.$cursorCell.row==e)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var r=this.$lines.cells;this.$cursorCell=null;for(var l=0;l<r.length;l++){var c=r[l];if(c.row>=this.$cursorRow){if(c.row>this.$cursorRow){var u=this.session.getFoldLine(this.$cursorRow);if(l>0&&u&&u.start.row==r[l-1].row)c=r[l-1];else break}c.element.className="ace_gutter-active-line "+c.element.className,this.$cursorCell=c;break}}}}},t.prototype.$updateCursorMarker=function(){if(this.session){var e=this.session;this.$highlightElement||(this.$highlightElement=$.createElement("div"),this.$highlightElement.className="ace_gutter-cursor",this.$highlightElement.style.pointerEvents="none",this.element.appendChild(this.$highlightElement));var r=e.selection.cursor,l=this.config,c=this.$lines,u=l.firstRowScreen*l.lineHeight,f=Math.floor(u/c.canvasHeight),p=e.documentToScreenRow(r)*l.lineHeight,b=p-f*c.canvasHeight;$.setStyle(this.$highlightElement.style,"height",l.lineHeight+"px"),$.setStyle(this.$highlightElement.style,"top",b+"px")}},t.prototype.scrollLines=function(e){var r=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(r,e))return this.update(e);this.$lines.moveContainer(e);var l=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),c=this.oldLastRow;if(this.oldLastRow=l,!r||c<e.firstRow)return this.update(e);if(l<r.firstRow)return this.update(e);if(r.firstRow<e.firstRow)for(var u=this.session.getFoldedRowCount(r.firstRow,e.firstRow-1);u>0;u--)this.$lines.shift();if(c>l)for(var u=this.session.getFoldedRowCount(l+1,c);u>0;u--)this.$lines.pop();e.firstRow<r.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,r.firstRow-1)),l>c&&this.$lines.push(this.$renderLines(e,c+1,l)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$renderLines=function(e,r,l){for(var c=[],u=r,f=this.session.getNextFoldLine(u),p=f?f.start.row:1/0;u>p&&(u=f.end.row+1,f=this.session.getNextFoldLine(u,f),p=f?f.start.row:1/0),!(u>l);){var b=this.$lines.createCell(u,e,this.session,n);this.$renderCell(b,e,f,u),c.push(b),u++}return c},t.prototype.$renderCell=function(e,r,l,c){var u=e.element,f=this.session,p=u.childNodes[0],b=u.childNodes[1],k=u.childNodes[2],v=u.childNodes[3],A=k.firstChild,M=f.$firstLineNumber,E=f.$breakpoints,_=f.$decorations,C=f.gutterRenderer||this.$renderer,x=this.$showFoldWidgets&&f.foldWidgets,m=l?l.start.row:Number.MAX_VALUE,h=r.lineHeight+"px",S=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",L=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",T=(C?C.getText(f,c):c+M).toString();if(this.$highlightGutterLine&&(c==this.$cursorRow||l&&c<this.$cursorRow&&c>=m&&this.$cursorRow<=l.end.row)&&(S+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),E[c]&&(S+=E[c]),_[c]&&(S+=_[c]),this.$annotations[c]&&c!==m&&(S+=this.$annotations[c].className),x){var I=x[c];I==null&&(I=x[c]=f.getFoldWidget(c))}if(I){var D="ace_fold-widget ace_"+I,O=I=="start"&&c==m&&c<l.end.row;if(O){D+=" ace_closed";for(var N="",F=!1,W=c+1;W<=l.end.row;W++)if(this.$annotations[W]){if(this.$annotations[W].className===" ace_error"){F=!0,N=" ace_error_fold";break}this.$annotations[W].className===" ace_security"?(F=!0,N=" ace_security_fold"):this.$annotations[W].className===" ace_warning"&&N!==" ace_security_fold"&&(F=!0,N=" ace_warning_fold")}S+=N}else D+=" ace_open";b.className!=D&&(b.className=D),$.setStyle(b.style,"height",h),$.setStyle(b.style,"display","inline-block"),b.setAttribute("role","button"),b.setAttribute("tabindex","-1");var B=f.getFoldWidgetRange(c);B?b.setAttribute("aria-label",o("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[B.start.row+1,B.end.row+1])):l?b.setAttribute("aria-label",o("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[l.start.row+1,l.end.row+1])):b.setAttribute("aria-label",o("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[c+1])),O?(b.setAttribute("aria-expanded","false"),b.setAttribute("title",o("gutter.code-folding.closed.title","Unfold code"))):(b.setAttribute("aria-expanded","true"),b.setAttribute("title",o("gutter.code-folding.open.title","Fold code")))}else b&&($.setStyle(b.style,"display","none"),b.setAttribute("tabindex","0"),b.removeAttribute("role"),b.removeAttribute("aria-label"));var H=this.session.$gutterCustomWidgets[c];if(H?this.$addCustomWidget(c,H,e):v&&this.$removeCustomWidget(c,e),F&&this.$showFoldedAnnotations){k.className="ace_gutter_annotation",A.className=L,A.className+=N,$.setStyle(A.style,"height",h),$.setStyle(k.style,"display","block"),$.setStyle(k.style,"height",h);var z;switch(N){case" ace_error_fold":z=o("gutter.annotation.aria-label.error","Error, read annotations row $0",[T]);break;case" ace_security_fold":z=o("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[T]);break;case" ace_warning_fold":z=o("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[T]);break}k.setAttribute("aria-label",z),k.setAttribute("tabindex","-1"),k.setAttribute("role","button")}else if(this.$annotations[c]){k.className="ace_gutter_annotation",A.className=L,this.$useSvgGutterIcons?A.className+=this.$annotations[c].className:u.classList.add(this.$annotations[c].className.replace(" ","")),$.setStyle(A.style,"height",h),$.setStyle(k.style,"display","block"),$.setStyle(k.style,"height",h);var z;switch(this.$annotations[c].className){case" ace_error":z=o("gutter.annotation.aria-label.error","Error, read annotations row $0",[T]);break;case" ace_security":z=o("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[T]);break;case" ace_warning":z=o("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[T]);break;case" ace_info":z=o("gutter.annotation.aria-label.info","Info, read annotations row $0",[T]);break;case" ace_hint":z=o("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[T]);break}k.setAttribute("aria-label",z),k.setAttribute("tabindex","-1"),k.setAttribute("role","button")}else $.setStyle(k.style,"display","none"),k.removeAttribute("aria-label"),k.removeAttribute("role"),k.setAttribute("tabindex","0");return T!==p.data&&(p.data=T),u.className!=S&&(u.className=S),$.setStyle(e.element.style,"height",this.$lines.computeLineHeight(c,r,f)+"px"),$.setStyle(e.element.style,"top",this.$lines.computeLineTop(c,r,f)+"px"),e.text=T,k.style.display==="none"&&b.style.display==="none"&&!H?e.element.setAttribute("aria-hidden",!0):e.element.setAttribute("aria-hidden",!1),e},t.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e,!e&&this.$highlightElement&&(this.$highlightElement.remove(),this.$highlightElement=null)},t.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},t.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},t.prototype.setShowFoldWidgets=function(e){e?$.addCssClass(this.element,"ace_folding-enabled"):$.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},t.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},t.prototype.$hideFoldWidget=function(e,r){var l=r||this.$getGutterCell(e);if(l&&l.element){var c=l.element.childNodes[1];c&&$.setStyle(c.style,"display","none")}},t.prototype.$showFoldWidget=function(e,r){var l=r||this.$getGutterCell(e);if(l&&l.element){var c=l.element.childNodes[1];c&&this.session.foldWidgets&&this.session.foldWidgets[l.row]&&$.setStyle(c.style,"display","inline-block")}},t.prototype.$getGutterCell=function(e){var r=this.$lines.cells,l=0,c=r.length-1;if(!(e<r[0].row||e>r[c].row)){for(;l<=c;){var u=Math.floor((l+c)/2),f=r[u];if(f.row>e)c=u-1;else if(f.row<e)l=u+1;else return f}return f}},t.prototype.$addCustomWidget=function(e,r,l){var c=r.className,u=r.label,f=r.title,p=r.callbacks;this.session.$gutterCustomWidgets[e]={className:c,label:u,title:f,callbacks:p},this.$hideFoldWidget(e,l);var b=l||this.$getGutterCell(e);if(b&&b.element){var k=b.element.querySelector(".ace_custom-widget");k&&k.remove(),k=$.createElement("span"),k.className="ace_custom-widget ".concat(c),k.setAttribute("tabindex","-1"),k.setAttribute("role","button"),k.setAttribute("aria-label",u),k.setAttribute("title",f),$.setStyle(k.style,"display","inline-block"),$.setStyle(k.style,"height","inherit"),p&&p.onClick&&k.addEventListener("click",function(v){p.onClick(v,e),v.stopPropagation()}),b.element.appendChild(k)}},t.prototype.$removeCustomWidget=function(e,r){delete this.session.$gutterCustomWidgets[e],this.$showFoldWidget(e,r);var l=r||this.$getGutterCell(e);if(l&&l.element){var c=l.element.querySelector(".ace_custom-widget");c&&l.element.removeChild(c)}},t.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=$.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},t.prototype.getRegion=function(e){var r=this.$padding||this.$computePadding(),l=this.element.getBoundingClientRect();if(e.x<r.left+l.left)return"markers";if(this.$showFoldWidgets&&e.x>l.right-r.right)return"foldWidgets"},t}();i.prototype.$fixedWidth=!1,i.prototype.$highlightGutterLine=!0,i.prototype.$renderer=void 0,i.prototype.$showLineNumbers=!0,i.prototype.$showFoldWidgets=!0,w.implement(i.prototype,s);function n(t){var e=document.createTextNode("");t.appendChild(e);var r=$.createElement("span");t.appendChild(r);var l=$.createElement("span");t.appendChild(l);var c=$.createElement("span");return l.appendChild(c),t}y.Gutter=i});ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(g,y,R){"use strict";var $=g("../range").Range,w=g("../lib/dom"),d=function(){function a(o){this.element=w.createElement("div"),this.element.className="ace_layer ace_marker-layer",o.appendChild(this.element)}return a.prototype.setPadding=function(o){this.$padding=o},a.prototype.setSession=function(o){this.session=o},a.prototype.setMarkers=function(o){this.markers=o},a.prototype.elt=function(o,i){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=i,n.className=o},a.prototype.update=function(o){if(o){this.config=o,this.i=0;var i;for(var n in this.markers){var t=this.markers[n];if(!t.range){t.update(i,this,this.session,o);continue}var e=t.range.clipRows(o.firstRow,o.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),t.renderer){var r=this.$getTop(e.start.row,o),l=this.$padding+e.start.column*o.characterWidth;t.renderer(i,e,l,r,o)}else t.type=="fullLine"?this.drawFullLineMarker(i,e,t.clazz,o):t.type=="screenLine"?this.drawScreenLineMarker(i,e,t.clazz,o):e.isMultiLine()?t.type=="text"?this.drawTextMarker(i,e,t.clazz,o):this.drawMultiLineMarker(i,e,t.clazz,o):this.drawSingleLineMarker(i,e,t.clazz+" ace_start ace_br15",o)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},a.prototype.$getTop=function(o,i){return(o-i.firstRowScreen)*i.lineHeight},a.prototype.drawTextMarker=function(o,i,n,t,e){for(var r=this.session,l=i.start.row,c=i.end.row,u=l,f=0,p=0,b=r.getScreenLastRowColumn(u),k=new $(u,i.start.column,u,p);u<=c;u++)k.start.row=k.end.row=u,k.start.column=u==l?i.start.column:r.getRowWrapIndent(u),k.end.column=b,f=p,p=b,b=u+1<c?r.getScreenLastRowColumn(u+1):u==c?0:i.end.column,this.drawSingleLineMarker(o,k,n+(u==l?" ace_start":"")+" ace_br"+s(u==l||u==l+1&&i.start.column,f<p,p>b,u==c),t,u==c?0:1,e)},a.prototype.drawMultiLineMarker=function(o,i,n,t,e){var r=this.$padding,l=t.lineHeight,c=this.$getTop(i.start.row,t),u=r+i.start.column*t.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(i.start.row)){var f=i.clone();f.end.row=f.start.row,f.end.column=this.session.getLine(f.start.row).length,this.drawBidiSingleLineMarker(o,f,n+" ace_br1 ace_start",t,null,e)}else this.elt(n+" ace_br1 ace_start","height:"+l+"px;right:"+r+"px;top:"+c+"px;left:"+u+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(i.end.row)){var f=i.clone();f.start.row=f.end.row,f.start.column=0,this.drawBidiSingleLineMarker(o,f,n+" ace_br12",t,null,e)}else{c=this.$getTop(i.end.row,t);var p=i.end.column*t.characterWidth;this.elt(n+" ace_br12","height:"+l+"px;width:"+p+"px;top:"+c+"px;left:"+r+"px;"+(e||""))}if(l=(i.end.row-i.start.row-1)*t.lineHeight,!(l<=0)){c=this.$getTop(i.start.row+1,t);var b=(i.start.column?1:0)|(i.end.column?0:8);this.elt(n+(b?" ace_br"+b:""),"height:"+l+"px;right:"+r+"px;top:"+c+"px;left:"+r+"px;"+(e||""))}},a.prototype.drawSingleLineMarker=function(o,i,n,t,e,r){if(this.session.$bidiHandler.isBidiRow(i.start.row))return this.drawBidiSingleLineMarker(o,i,n,t,e,r);var l=t.lineHeight,c=(i.end.column+(e||0)-i.start.column)*t.characterWidth,u=this.$getTop(i.start.row,t),f=this.$padding+i.start.column*t.characterWidth;this.elt(n,"height:"+l+"px;width:"+c+"px;top:"+u+"px;left:"+f+"px;"+(r||""))},a.prototype.drawBidiSingleLineMarker=function(o,i,n,t,e,r){var l=t.lineHeight,c=this.$getTop(i.start.row,t),u=this.$padding,f=this.session.$bidiHandler.getSelections(i.start.column,i.end.column);f.forEach(function(p){this.elt(n,"height:"+l+"px;width:"+(p.width+(e||0))+"px;top:"+c+"px;left:"+(u+p.left)+"px;"+(r||""))},this)},a.prototype.drawFullLineMarker=function(o,i,n,t,e){var r=this.$getTop(i.start.row,t),l=t.lineHeight;i.start.row!=i.end.row&&(l+=this.$getTop(i.end.row,t)-r),this.elt(n,"height:"+l+"px;top:"+r+"px;left:0;right:0;"+(e||""))},a.prototype.drawScreenLineMarker=function(o,i,n,t,e){var r=this.$getTop(i.start.row,t),l=t.lineHeight;this.elt(n,"height:"+l+"px;top:"+r+"px;left:0;right:0;"+(e||""))},a}();d.prototype.$padding=0;function s(a,o,i,n){return(a?1:0)|(o?2:0)|(i?4:0)|(n?8:0)}y.Marker=d});ace.define("ace/layer/text_util",["require","exports","module"],function(g,y,R){var $=new Set(["text","rparen","lparen"]);y.isTextToken=function(w){return $.has(w)}});ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("../lib/dom"),d=g("../lib/lang"),s=g("./lines").Lines,a=g("../lib/event_emitter").EventEmitter,o=g("../config").nls,i=g("./text_util").isTextToken,n=function(){function t(e){this.dom=w,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new s(this.element)}return t.prototype.$updateEolChar=function(){var e=this.session.doc,r=e.getNewLineCharacter()==`
|
|
210
|
+
`&&e.getNewLineMode()!="windows",l=r?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=l)return this.EOL_CHAR=l,!0},t.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},t.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},t.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},t.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(r){this._signal("changeCharacterSize",r)}.bind(this)),this.$pollSizeChanges()},t.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},t.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},t.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},t.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},t.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},t.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},t.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var r=this.$tabStrings=[0],l=1;l<e+1;l++)if(this.showTabs){var c=this.dom.createElement("span");c.className="ace_invisible ace_invisible_tab",c.textContent=d.stringRepeat(this.TAB_CHAR,l),r.push(c)}else r.push(this.dom.createTextNode(d.stringRepeat(" ",l),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var u="ace_indent-guide",f=this.showSpaces?" ace_invisible ace_invisible_space":"",p=this.showSpaces?d.stringRepeat(this.SPACE_CHAR,this.tabSize):d.stringRepeat(" ",this.tabSize),b=this.showTabs?" ace_invisible ace_invisible_tab":"",k=this.showTabs?d.stringRepeat(this.TAB_CHAR,this.tabSize):p,c=this.dom.createElement("span");c.className=u+f,c.textContent=p,this.$tabStrings[" "]=c;var c=this.dom.createElement("span");c.className=u+b,c.textContent=k,this.$tabStrings[" "]=c}},t.prototype.updateLines=function(e,r,l){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var c=Math.max(r,e.firstRow),u=Math.min(l,e.lastRow),f=this.element.childNodes,p=0,k=e.firstRow;k<c;k++){var v=this.session.getFoldLine(k);if(v)if(v.containsRow(c)){c=v.start.row;break}else k=v.end.row;p++}for(var b=!1,k=c,v=this.session.getNextFoldLine(k),A=v?v.start.row:1/0;k>A&&(k=v.end.row+1,v=this.session.getNextFoldLine(k,v),A=v?v.start.row:1/0),!(k>u);){var M=f[p++];if(M){this.dom.removeChildren(M),this.$renderLine(M,k,k==A?v:!1),b&&(M.style.top=this.$lines.computeLineTop(k,e,this.session)+"px");var E=e.lineHeight*this.session.getRowLength(k)+"px";M.style.height!=E&&(b=!0,M.style.height=E)}k++}if(b)for(;p<this.$lines.cells.length;){var _=this.$lines.cells[p++];_.element.style.top=this.$lines.computeLineTop(_.row,e,this.session)+"px"}},t.prototype.scrollLines=function(e){var r=this.config;if(this.config=e,this.$lines.pageChanged(r,e))return this.update(e);this.$lines.moveContainer(e);var l=e.lastRow,c=r?r.lastRow:-1;if(!r||c<e.firstRow)return this.update(e);if(l<r.firstRow)return this.update(e);if(!r||r.lastRow<e.firstRow)return this.update(e);if(e.lastRow<r.firstRow)return this.update(e);if(r.firstRow<e.firstRow)for(var u=this.session.getFoldedRowCount(r.firstRow,e.firstRow-1);u>0;u--)this.$lines.shift();if(r.lastRow>e.lastRow)for(var u=this.session.getFoldedRowCount(e.lastRow+1,r.lastRow);u>0;u--)this.$lines.pop();e.firstRow<r.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,r.firstRow-1)),e.lastRow>r.lastRow&&this.$lines.push(this.$renderLinesFragment(e,r.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},t.prototype.$renderLinesFragment=function(e,r,l){for(var c=[],u=r,f=this.session.getNextFoldLine(u),p=f?f.start.row:1/0;u>p&&(u=f.end.row+1,f=this.session.getNextFoldLine(u,f),p=f?f.start.row:1/0),!(u>l);){var b=this.$lines.createCell(u,e,this.session),k=b.element;this.dom.removeChildren(k),w.setStyle(k.style,"height",this.$lines.computeLineHeight(u,e,this.session)+"px"),w.setStyle(k.style,"top",this.$lines.computeLineTop(u,e,this.session)+"px"),this.$renderLine(k,u,u==p?f:!1),this.$useLineGroups()?k.className="ace_line_group":k.className="ace_line",c.push(b),u++}return c},t.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var r=e.firstRow,l=e.lastRow,c=this.$lines;c.getLength();)c.pop();c.push(this.$renderLinesFragment(e,r,l))},t.prototype.$renderToken=function(e,r,l,c){for(var u=this,f=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,p=this.dom.createFragment(this.element),b,k=0;b=f.exec(c);){var v=b[1],A=b[2],M=b[3],E=b[4],_=b[5];if(!(!u.showSpaces&&A)){var C=k!=b.index?c.slice(k,b.index):"";if(k=b.index+b[0].length,C&&p.appendChild(this.dom.createTextNode(C,this.element)),v){var x=u.session.getScreenTabSize(r+b.index),m=u.$tabStrings[x].cloneNode(!0);m.charCount=1,p.appendChild(m),r+=x-1}else if(A)if(u.showSpaces){var h=this.dom.createElement("span");h.className="ace_invisible ace_invisible_space",h.textContent=d.stringRepeat(u.SPACE_CHAR,A.length),p.appendChild(h)}else p.appendChild(this.dom.createTextNode(A,this.element));else if(M){var h=this.dom.createElement("span");h.className="ace_invisible ace_invisible_space ace_invalid",h.textContent=d.stringRepeat(u.SPACE_CHAR,M.length),p.appendChild(h)}else if(E){r+=1;var h=this.dom.createElement("span");h.style.width=u.config.characterWidth*2+"px",h.className=u.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",h.textContent=u.showSpaces?u.SPACE_CHAR:E,p.appendChild(h)}else if(_){r+=1;var h=this.dom.createElement("span");h.style.width=u.config.characterWidth*2+"px",h.className="ace_cjk",h.textContent=_,p.appendChild(h)}}}if(p.appendChild(this.dom.createTextNode(k?c.slice(k):c,this.element)),i(l.type))e.appendChild(p);else{var S="ace_"+l.type.replace(/\./g," ace_"),h=this.dom.createElement("span");l.type=="fold"&&(h.style.width=l.value.length*this.config.characterWidth+"px",h.setAttribute("title",o("inline-fold.closed.title","Unfold code"))),h.className=S,h.appendChild(p),e.appendChild(h)}return r+c.length},t.prototype.renderIndentGuide=function(e,r,l){var c=r.search(this.$indentGuideRe);if(c<=0||c>=l)return r;if(r[0]==" "){c-=c%this.tabSize;for(var u=c/this.tabSize,f=0;f<u;f++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),r.substr(c)}else if(r[0]==" "){for(var f=0;f<c;f++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),r.substr(c)}return this.$highlightIndentGuide(),r},t.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var e=this.session.doc.$lines;if(e){var r=this.session.selection.getCursor(),l=/^\s*/.exec(this.session.doc.getLine(r.row))[0].length,c=Math.floor(l/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:c,start:r.row};var u=this.session.$bracketHighlight;if(u){for(var f=this.session.$bracketHighlight.ranges,p=0;p<f.length;p++)if(r.row!==f[p].start.row){this.$highlightIndentGuideMarker.end=f[p].start.row+1,r.row>f[p].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[r.row]!==""&&r.column===e[r.row].length){this.$highlightIndentGuideMarker.dir=1;for(var p=r.row+1;p<e.length;p++){var b=e[p],k=/^\s*/.exec(b)[0].length;if(b!==""&&(this.$highlightIndentGuideMarker.end=p,k<=l))break}}this.$renderHighlightIndentGuide()}}},t.prototype.$clearActiveIndentGuide=function(){for(var e=this.element.querySelectorAll(".ace_indent-guide-active"),r=0;r<e.length;r++)e[r].classList.remove("ace_indent-guide-active")},t.prototype.$setIndentGuideActive=function(e,r){var l=this.session.doc.getLine(e.row);if(l!==""){var c=e.element;if(e.element.classList&&e.element.classList.contains("ace_line_group"))if(e.element.childNodes.length>0)c=e.element.childNodes[0];else return;var u=c.childNodes;if(u){var f=u[r-1];f&&f.classList&&f.classList.contains("ace_indent-guide")&&f.classList.add("ace_indent-guide-active")}}},t.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var r=this.$highlightIndentGuideMarker.indentLevel;if(r!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var l=0;l<e.length;l++){var c=e[l];if(this.$highlightIndentGuideMarker.end&&c.row>=this.$highlightIndentGuideMarker.start+1){if(c.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(c,r)}}else for(var l=e.length-1;l>=0;l--){var c=e[l];if(this.$highlightIndentGuideMarker.end&&c.row<this.$highlightIndentGuideMarker.start){if(c.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(c,r)}}}},t.prototype.$createLineElement=function(e){var r=this.dom.createElement("div");return r.className="ace_line",r.style.height=this.config.lineHeight+"px",r},t.prototype.$renderWrappedLine=function(e,r,l){var c=0,u=0,f=l[0],p=0,b=this.$createLineElement();e.appendChild(b);for(var k=0;k<r.length;k++){var v=r[k],A=v.value;if(k==0&&this.displayIndentGuides){if(c=A.length,A=this.renderIndentGuide(b,A,f),!A)continue;c-=A.length}if(c+A.length<f)p=this.$renderToken(b,p,v,A),c+=A.length;else{for(;c+A.length>=f;){p=this.$renderToken(b,p,v,A.substring(0,f-c)),A=A.substring(f-c),c=f,b=this.$createLineElement(),e.appendChild(b);var M=this.dom.createTextNode(d.stringRepeat("\xA0",l.indent),this.element);M.charCount=0,b.appendChild(M),u++,p=0,f=l[u]||Number.MAX_VALUE}A.length!=0&&(c+=A.length,p=this.$renderToken(b,p,v,A))}}l[l.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(b,p,null,"",!0)},t.prototype.$renderSimpleLine=function(e,r){for(var l=0,c=0;c<r.length;c++){var u=r[c],f=u.value;if(!(c==0&&this.displayIndentGuides&&(f=this.renderIndentGuide(e,f),!f))){if(l+f.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,l,u,f);l=this.$renderToken(e,l,u,f)}}},t.prototype.$renderOverflowMessage=function(e,r,l,c,u){l&&this.$renderToken(e,r,l,c.slice(0,this.MAX_LINE_LENGTH-r));var f=this.dom.createElement("span");f.className="ace_inline_button ace_keyword ace_toggle_wrap",f.textContent=u?"<hide>":"<click to see more...>",e.appendChild(f)},t.prototype.$renderLine=function(e,r,l){if(!l&&l!=!1&&(l=this.session.getFoldLine(r)),l)var c=this.$getFoldLineTokens(r,l);else var c=this.session.getTokens(r);var u=e;if(c.length){var f=this.session.getRowSplitData(r);if(f&&f.length){this.$renderWrappedLine(e,c,f);var u=e.lastChild}else{var u=e;this.$useLineGroups()&&(u=this.$createLineElement(),e.appendChild(u)),this.$renderSimpleLine(u,c)}}else this.$useLineGroups()&&(u=this.$createLineElement(),e.appendChild(u));if(this.showEOL&&u){l&&(r=l.end.row);var p=this.dom.createElement("span");p.className="ace_invisible ace_invisible_eol",p.textContent=r==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,u.appendChild(p)}},t.prototype.$getFoldLineTokens=function(e,r){var l=this.session,c=[];function u(p,b,k){for(var v=0,A=0;A+p[v].value.length<b;)if(A+=p[v].value.length,v++,v==p.length)return;if(A!=b){var M=p[v].value.substring(b-A);M.length>k-b&&(M=M.substring(0,k-b)),c.push({type:p[v].type,value:M}),A=b+M.length,v+=1}for(;A<k&&v<p.length;){var M=p[v].value;M.length+A>k?c.push({type:p[v].type,value:M.substring(0,k-A)}):c.push(p[v]),A+=M.length,v+=1}}var f=l.getTokens(e);return r.walk(function(p,b,k,v,A){p!=null?c.push({type:"fold",value:p}):(A&&(f=l.getTokens(b)),f.length&&u(f,v,k))},r.end.row,this.session.getLine(r.end.row).length),c},t.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},t}();n.prototype.EOF_CHAR="\xB6",n.prototype.EOL_CHAR_LF="\xAC",n.prototype.EOL_CHAR_CRLF="\xA4",n.prototype.EOL_CHAR=n.prototype.EOL_CHAR_LF,n.prototype.TAB_CHAR="\u2014",n.prototype.SPACE_CHAR="\xB7",n.prototype.$padding=0,n.prototype.MAX_LINE_LENGTH=1e4,n.prototype.showInvisibles=!1,n.prototype.showSpaces=!1,n.prototype.showTabs=!1,n.prototype.showEOL=!1,n.prototype.displayIndentGuides=!0,n.prototype.$highlightIndentGuides=!0,n.prototype.$tabStrings=[],n.prototype.destroy={},n.prototype.onChangeTabSize=n.prototype.$computeTabString,$.implement(n.prototype,a),y.Text=n});ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(g,y,R){"use strict";var $=g("../lib/dom"),w=function(){function d(s){this.element=$.createElement("div"),this.element.className="ace_layer ace_cursor-layer",s.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),$.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return d.prototype.$updateOpacity=function(s){for(var a=this.cursors,o=a.length;o--;)$.setStyle(a[o].style,"opacity",s?"":"0")},d.prototype.$startCssAnimation=function(){for(var s=this.cursors,a=s.length;a--;)s[a].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&$.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},d.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,$.removeCssClass(this.element,"ace_animate-blinking")},d.prototype.setPadding=function(s){this.$padding=s},d.prototype.setSession=function(s){this.session=s},d.prototype.setBlinking=function(s){s!=this.isBlinking&&(this.isBlinking=s,this.restartTimer())},d.prototype.setBlinkInterval=function(s){s!=this.blinkInterval&&(this.blinkInterval=s,this.restartTimer())},d.prototype.setSmoothBlinking=function(s){s!=this.smoothBlinking&&(this.smoothBlinking=s,$.setCssClass(this.element,"ace_smooth-blinking",s),this.$updateCursors(!0),this.restartTimer())},d.prototype.addCursor=function(){var s=$.createElement("div");return s.className="ace_cursor",this.element.appendChild(s),this.cursors.push(s),s},d.prototype.removeCursor=function(){if(this.cursors.length>1){var s=this.cursors.pop();return s.parentNode.removeChild(s),s}},d.prototype.hideCursor=function(){this.isVisible=!1,$.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},d.prototype.showCursor=function(){this.isVisible=!0,$.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},d.prototype.restartTimer=function(){var s=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,$.removeCssClass(this.element,"ace_smooth-blinking")),s(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&$.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),$.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var a=function(){this.timeoutId=setTimeout(function(){s(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){s(!0),a()},this.blinkInterval),a()}},d.prototype.getPixelPosition=function(s,a){if(!this.config||!this.session)return{left:0,top:0};s||(s=this.session.selection.getCursor());var o=this.session.documentToScreenPosition(s),i=this.$padding+(this.session.$bidiHandler.isBidiRow(o.row,s.row)?this.session.$bidiHandler.getPosLeft(o.column):o.column*this.config.characterWidth),n=(o.row-(a?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:i,top:n}},d.prototype.isCursorInView=function(s,a){return s.top>=0&&s.top<a.maxHeight},d.prototype.update=function(s){this.config=s;var a=this.session.$selectionMarkers,o=0,i=0;(a===void 0||a.length===0)&&(a=[{cursor:null}]);for(var o=0,n=a.length;o<n;o++){var t=this.getPixelPosition(a[o].cursor,!0);if(!((t.top>s.height+s.offset||t.top<0)&&o>1)){var e=this.cursors[i++]||this.addCursor(),r=e.style;this.drawCursor?this.drawCursor(e,t,s,a[o],this.session):this.isCursorInView(t,s)?($.setStyle(r,"display","block"),$.translate(e,t.left,t.top),$.setStyle(r,"width",Math.round(s.characterWidth)+"px"),$.setStyle(r,"height",s.lineHeight+"px")):$.setStyle(r,"display","none")}}for(;this.cursors.length>i;)this.removeCursor();var l=this.session.getOverwrite();this.$setOverwrite(l),this.$pixelPos=t,this.restartTimer()},d.prototype.$setOverwrite=function(s){s!=this.overwrite&&(this.overwrite=s,s?$.addCssClass(this.element,"ace_overwrite-cursors"):$.removeCssClass(this.element,"ace_overwrite-cursors"))},d.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},d}();w.prototype.$padding=0,w.prototype.drawCursor=null,y.Cursor=w});ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(g,y,R){"use strict";var $=this&&this.__extends||function(){var e=function(r,l){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,u){c.__proto__=u}||function(c,u){for(var f in u)Object.prototype.hasOwnProperty.call(u,f)&&(c[f]=u[f])},e(r,l)};return function(r,l){if(typeof l!="function"&&l!==null)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");e(r,l);function c(){this.constructor=r}r.prototype=l===null?Object.create(l):(c.prototype=l.prototype,new c)}}(),w=g("./lib/oop"),d=g("./lib/dom"),s=g("./lib/event"),a=g("./lib/event_emitter").EventEmitter,o=32768,i=function(){function e(r,l){this.element=d.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+l,this.inner=d.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\xA0",this.element.appendChild(this.inner),r.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)}return e.prototype.setVisible=function(r){this.element.style.display=r?"":"none",this.isVisible=r,this.coeff=1},e}();w.implement(i.prototype,a);var n=function(e){$(r,e);function r(l,c){var u=e.call(this,l,"-v")||this;return u.scrollTop=0,u.scrollHeight=0,c.$scrollbarWidth=u.width=d.scrollbarWidth(l.ownerDocument),u.inner.style.width=u.element.style.width=(u.width||15)+5+"px",u.$minWidth=0,u}return r.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var l=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-l)/(this.coeff-l)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},r.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},r.prototype.setHeight=function(l){this.element.style.height=l+"px"},r.prototype.setScrollHeight=function(l){this.scrollHeight=l,l>o?(this.coeff=o/l,l=o):this.coeff!=1&&(this.coeff=1),this.inner.style.height=l+"px"},r.prototype.setScrollTop=function(l){this.scrollTop!=l&&(this.skipEvent=!0,this.scrollTop=l,this.element.scrollTop=l*this.coeff)},r}(i);n.prototype.setInnerHeight=n.prototype.setScrollHeight;var t=function(e){$(r,e);function r(l,c){var u=e.call(this,l,"-h")||this;return u.scrollLeft=0,u.height=c.$scrollbarWidth,u.inner.style.height=u.element.style.height=(u.height||15)+5+"px",u}return r.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},r.prototype.getHeight=function(){return this.isVisible?this.height:0},r.prototype.setWidth=function(l){this.element.style.width=l+"px"},r.prototype.setInnerWidth=function(l){this.inner.style.width=l+"px"},r.prototype.setScrollWidth=function(l){this.inner.style.width=l+"px"},r.prototype.setScrollLeft=function(l){this.scrollLeft!=l&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=l)},r}(i);y.ScrollBar=n,y.ScrollBarV=n,y.ScrollBarH=t,y.VScrollBar=n,y.HScrollBar=t});ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(g,y,R){"use strict";var $=this&&this.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,c){l.__proto__=c}||function(l,c){for(var u in c)Object.prototype.hasOwnProperty.call(c,u)&&(l[u]=c[u])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function l(){this.constructor=e}e.prototype=r===null?Object.create(r):(l.prototype=r.prototype,new l)}}(),w=g("./lib/oop"),d=g("./lib/dom"),s=g("./lib/event"),a=g("./lib/event_emitter").EventEmitter;d.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
|
|
211
|
+
position: absolute;
|
|
212
|
+
background: rgba(128, 128, 128, 0.6);
|
|
213
|
+
-moz-box-sizing: border-box;
|
|
214
|
+
box-sizing: border-box;
|
|
215
|
+
border: 1px solid #bbb;
|
|
216
|
+
border-radius: 2px;
|
|
217
|
+
z-index: 8;
|
|
218
|
+
}
|
|
219
|
+
.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
|
|
220
|
+
position: absolute;
|
|
221
|
+
z-index: 6;
|
|
222
|
+
background: none;
|
|
223
|
+
overflow: hidden!important;
|
|
224
|
+
}
|
|
225
|
+
.ace_editor>.ace_sb-v {
|
|
226
|
+
z-index: 6;
|
|
227
|
+
right: 0;
|
|
228
|
+
top: 0;
|
|
229
|
+
width: 12px;
|
|
230
|
+
}
|
|
231
|
+
.ace_editor>.ace_sb-v div {
|
|
232
|
+
z-index: 8;
|
|
233
|
+
right: 0;
|
|
234
|
+
width: 100%;
|
|
235
|
+
}
|
|
236
|
+
.ace_editor>.ace_sb-h {
|
|
237
|
+
bottom: 0;
|
|
238
|
+
left: 0;
|
|
239
|
+
height: 12px;
|
|
240
|
+
}
|
|
241
|
+
.ace_editor>.ace_sb-h div {
|
|
242
|
+
bottom: 0;
|
|
243
|
+
height: 100%;
|
|
244
|
+
}
|
|
245
|
+
.ace_editor>.ace_sb_grabbed {
|
|
246
|
+
z-index: 8;
|
|
247
|
+
background: #000;
|
|
248
|
+
}`,"ace_scrollbar.css",!1);var o=function(){function t(e,r){this.element=d.createElement("div"),this.element.className="ace_sb"+r,this.inner=d.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return t.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},t}();w.implement(o.prototype,a);var i=function(t){$(e,t);function e(r,l){var c=t.call(this,r,"-v")||this;return c.scrollTop=0,c.scrollHeight=0,c.parent=r,c.width=c.VScrollWidth,c.renderer=l,c.inner.style.width=c.element.style.width=(c.width||15)+"px",c.$minWidth=0,c}return e.prototype.onMouseDown=function(r,l){if(r==="mousedown"&&!(s.getButton(l)!==0||l.detail===2)){if(l.target===this.inner){var c=this,u=l.clientY,f=function(E){u=E.clientY},p=function(){clearInterval(A)},b=l.clientY,k=this.thumbTop,v=function(){if(u!==void 0){var E=c.scrollTopFromThumbTop(k+u-b);E!==c.scrollTop&&c._emit("scroll",{data:E})}};s.capture(this.inner,f,p);var A=setInterval(v,20);return s.preventDefault(l)}var M=l.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(M)}),s.preventDefault(l)}},e.prototype.getHeight=function(){return this.height},e.prototype.scrollTopFromThumbTop=function(r){var l=r*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return l=l>>0,l<0?l=0:l>this.pageHeight-this.viewHeight&&(l=this.pageHeight-this.viewHeight),l},e.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},e.prototype.setHeight=function(r){this.height=Math.max(0,r),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},e.prototype.setScrollHeight=function(r,l){this.pageHeight===r&&!l||(this.pageHeight=r,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},e.prototype.setScrollTop=function(r){this.scrollTop=r,r<0&&(r=0),this.thumbTop=r*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},e}(o);i.prototype.setInnerHeight=i.prototype.setScrollHeight;var n=function(t){$(e,t);function e(r,l){var c=t.call(this,r,"-h")||this;return c.scrollLeft=0,c.scrollWidth=0,c.height=c.HScrollHeight,c.inner.style.height=c.element.style.height=(c.height||12)+"px",c.renderer=l,c}return e.prototype.onMouseDown=function(r,l){if(r==="mousedown"&&!(s.getButton(l)!==0||l.detail===2)){if(l.target===this.inner){var c=this,u=l.clientX,f=function(E){u=E.clientX},p=function(){clearInterval(A)},b=l.clientX,k=this.thumbLeft,v=function(){if(u!==void 0){var E=c.scrollLeftFromThumbLeft(k+u-b);E!==c.scrollLeft&&c._emit("scroll",{data:E})}};s.capture(this.inner,f,p);var A=setInterval(v,20);return s.preventDefault(l)}var M=l.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(M)}),s.preventDefault(l)}},e.prototype.getHeight=function(){return this.isVisible?this.height:0},e.prototype.scrollLeftFromThumbLeft=function(r){var l=r*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return l=l>>0,l<0?l=0:l>this.pageWidth-this.viewWidth&&(l=this.pageWidth-this.viewWidth),l},e.prototype.setWidth=function(r){this.width=Math.max(0,r),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},e.prototype.setScrollWidth=function(r,l){this.pageWidth===r&&!l||(this.pageWidth=r,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},e.prototype.setScrollLeft=function(r){this.scrollLeft=r,r<0&&(r=0),this.thumbLeft=r*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},e}(o);n.prototype.setInnerWidth=n.prototype.setScrollWidth,y.ScrollBar=i,y.ScrollBarV=i,y.ScrollBarH=n,y.VScrollBar=i,y.HScrollBar=n});ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(g,y,R){"use strict";var $=g("./lib/event"),w=function(){function d(s,a){this.onRender=s,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=a||window;var o=this;this._flush=function(i){o.pending=!1;var n=o.changes;if(n&&($.blockIdle(100),o.changes=0,o.onRender(n)),o.changes){if(o.$recursionLimit--<0)return;o.schedule()}else o.$recursionLimit=2}}return d.prototype.schedule=function(s){this.changes=this.changes|s,this.changes&&!this.pending&&($.nextFrame(this._flush),this.pending=!0)},d.prototype.clear=function(s){var a=this.changes;return this.changes=0,a},d}();y.RenderLoop=w});ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(g,y,R){var $=g("../lib/oop"),w=g("../lib/dom"),d=g("../lib/lang"),s=g("../lib/event"),a=g("../lib/useragent"),o=g("../lib/event_emitter").EventEmitter,i=512,n=typeof ResizeObserver=="function",t=200,e=function(){function r(l){this.el=w.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=w.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=w.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),l.appendChild(this.el),this.$measureNode.textContent=d.stringRepeat("X",i),this.$characterSize={width:0,height:0},n?this.$addObserver():this.checkForSizeChanges()}return r.prototype.$setMeasureNodeStyles=function(l,c){l.width=l.height="auto",l.left=l.top="0px",l.visibility="hidden",l.position="absolute",l.whiteSpace="pre",a.isIE<8?l["font-family"]="inherit":l.font="inherit",l.overflow=c?"hidden":"visible"},r.prototype.checkForSizeChanges=function(l){if(l===void 0&&(l=this.$measureSizes()),l&&(this.$characterSize.width!==l.width||this.$characterSize.height!==l.height)){this.$measureNode.style.fontWeight="bold";var c=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=l,this.charSizes=Object.create(null),this.allowBoldFonts=c&&c.width===l.width&&c.height===l.height,this._emit("changeCharacterSize",{data:l})}},r.prototype.$addObserver=function(){var l=this;this.$observer=new window.ResizeObserver(function(c){l.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},r.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var l=this;return this.$pollSizeChangesTimer=s.onIdle(function c(){l.checkForSizeChanges(),s.onIdle(c,500)},500)},r.prototype.setPolling=function(l){l?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},r.prototype.$measureSizes=function(l){var c={height:(l||this.$measureNode).clientHeight,width:(l||this.$measureNode).clientWidth/i};return c.width===0||c.height===0?null:c},r.prototype.$measureCharWidth=function(l){this.$main.textContent=d.stringRepeat(l,i);var c=this.$main.getBoundingClientRect();return c.width/i},r.prototype.getCharacterWidth=function(l){var c=this.charSizes[l];return c===void 0&&(c=this.charSizes[l]=this.$measureCharWidth(l)/this.$characterSize.width),c},r.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},r.prototype.$getZoom=function(l){return!l||!l.parentElement?1:(Number(window.getComputedStyle(l).zoom)||1)*this.$getZoom(l.parentElement)},r.prototype.$initTransformMeasureNodes=function(){var l=function(c,u){return["div",{style:"position: absolute;top:"+c+"px;left:"+u+"px;"}]};this.els=w.buildDom([l(0,0),l(t,0),l(0,t),l(t,t)],this.el)},r.prototype.transformCoordinates=function(l,c){if(l){var u=this.$getZoom(this.el);l=k(1/u,l)}function f(D,O,N){var F=D[1]*O[0]-D[0]*O[1];return[(-O[1]*N[0]+O[0]*N[1])/F,(+D[1]*N[0]-D[0]*N[1])/F]}function p(D,O){return[D[0]-O[0],D[1]-O[1]]}function b(D,O){return[D[0]+O[0],D[1]+O[1]]}function k(D,O){return[D*O[0],D*O[1]]}this.els||this.$initTransformMeasureNodes();function v(D){var O=D.getBoundingClientRect();return[O.left,O.top]}var A=v(this.els[0]),M=v(this.els[1]),E=v(this.els[2]),_=v(this.els[3]),C=f(p(_,M),p(_,E),p(b(M,E),b(_,A))),x=k(1+C[0],p(M,A)),m=k(1+C[1],p(E,A));if(c){var h=c,S=C[0]*h[0]/t+C[1]*h[1]/t+1,L=b(k(h[0],x),k(h[1],m));return b(k(1/S/t,L),A)}var T=p(l,A),I=f(p(x,k(C[0],T)),p(m,k(C[1],T)),T);return k(t,I)},r}();e.prototype.$characterSize={width:0,height:0},$.implement(e.prototype,o),y.FontMetrics=e});ace.define("ace/css/editor-css",["require","exports","module"],function(g,y,R){R.exports=`
|
|
249
|
+
.ace_br1 {border-top-left-radius : 3px;}
|
|
250
|
+
.ace_br2 {border-top-right-radius : 3px;}
|
|
251
|
+
.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
|
|
252
|
+
.ace_br4 {border-bottom-right-radius: 3px;}
|
|
253
|
+
.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
|
|
254
|
+
.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
|
|
255
|
+
.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
|
|
256
|
+
.ace_br8 {border-bottom-left-radius : 3px;}
|
|
257
|
+
.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
|
|
258
|
+
.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
|
|
259
|
+
.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
260
|
+
.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
261
|
+
.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
262
|
+
.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
263
|
+
.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
.ace_editor {
|
|
267
|
+
position: relative;
|
|
268
|
+
overflow: hidden;
|
|
269
|
+
padding: 0;
|
|
270
|
+
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
|
|
271
|
+
direction: ltr;
|
|
272
|
+
text-align: left;
|
|
273
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
274
|
+
forced-color-adjust: none;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.ace_scroller {
|
|
278
|
+
position: absolute;
|
|
279
|
+
overflow: hidden;
|
|
280
|
+
top: 0;
|
|
281
|
+
bottom: 0;
|
|
282
|
+
background-color: inherit;
|
|
283
|
+
-ms-user-select: none;
|
|
284
|
+
-moz-user-select: none;
|
|
285
|
+
-webkit-user-select: none;
|
|
286
|
+
user-select: none;
|
|
287
|
+
cursor: text;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.ace_content {
|
|
291
|
+
position: absolute;
|
|
292
|
+
box-sizing: border-box;
|
|
293
|
+
min-width: 100%;
|
|
294
|
+
contain: style size layout;
|
|
295
|
+
font-variant-ligatures: no-common-ligatures;
|
|
296
|
+
}
|
|
297
|
+
.ace_invisible {
|
|
298
|
+
font-variant-ligatures: none;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.ace_keyboard-focus:focus {
|
|
302
|
+
box-shadow: inset 0 0 0 2px #5E9ED6;
|
|
303
|
+
outline: none;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.ace_dragging .ace_scroller:before{
|
|
307
|
+
position: absolute;
|
|
308
|
+
top: 0;
|
|
309
|
+
left: 0;
|
|
310
|
+
right: 0;
|
|
311
|
+
bottom: 0;
|
|
312
|
+
content: '';
|
|
313
|
+
background: rgba(250, 250, 250, 0.01);
|
|
314
|
+
z-index: 1000;
|
|
315
|
+
}
|
|
316
|
+
.ace_dragging.ace_dark .ace_scroller:before{
|
|
317
|
+
background: rgba(0, 0, 0, 0.01);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.ace_gutter {
|
|
321
|
+
position: absolute;
|
|
322
|
+
overflow : hidden;
|
|
323
|
+
width: auto;
|
|
324
|
+
top: 0;
|
|
325
|
+
bottom: 0;
|
|
326
|
+
left: 0;
|
|
327
|
+
cursor: default;
|
|
328
|
+
z-index: 4;
|
|
329
|
+
-ms-user-select: none;
|
|
330
|
+
-moz-user-select: none;
|
|
331
|
+
-webkit-user-select: none;
|
|
332
|
+
user-select: none;
|
|
333
|
+
contain: style size layout;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
.ace_gutter-active-line {
|
|
337
|
+
position: absolute;
|
|
338
|
+
left: 0;
|
|
339
|
+
right: 0;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.ace_scroller.ace_scroll-left:after {
|
|
343
|
+
content: "";
|
|
344
|
+
position: absolute;
|
|
345
|
+
top: 0;
|
|
346
|
+
right: 0;
|
|
347
|
+
bottom: 0;
|
|
348
|
+
left: 0;
|
|
349
|
+
box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
|
|
350
|
+
pointer-events: none;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.ace_gutter-cell, .ace_gutter-cell_svg-icons {
|
|
354
|
+
position: absolute;
|
|
355
|
+
top: 0;
|
|
356
|
+
left: 0;
|
|
357
|
+
right: 0;
|
|
358
|
+
padding-left: 19px;
|
|
359
|
+
padding-right: 6px;
|
|
360
|
+
background-repeat: no-repeat;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.ace_gutter-cell_svg-icons .ace_gutter_annotation {
|
|
364
|
+
margin-left: -14px;
|
|
365
|
+
float: left;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
.ace_gutter-cell .ace_gutter_annotation {
|
|
369
|
+
margin-left: -19px;
|
|
370
|
+
float: left;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {
|
|
374
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");
|
|
375
|
+
background-repeat: no-repeat;
|
|
376
|
+
background-position: 2px center;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
|
|
380
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");
|
|
381
|
+
background-repeat: no-repeat;
|
|
382
|
+
background-position: 2px center;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
|
|
386
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
|
|
387
|
+
background-repeat: no-repeat;
|
|
388
|
+
background-position: 2px center;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {
|
|
392
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.ace_icon_svg.ace_error {
|
|
396
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
|
|
397
|
+
background-color: crimson;
|
|
398
|
+
}
|
|
399
|
+
.ace_icon_svg.ace_security {
|
|
400
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
|
|
401
|
+
background-color: crimson;
|
|
402
|
+
}
|
|
403
|
+
.ace_icon_svg.ace_warning {
|
|
404
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
|
|
405
|
+
background-color: darkorange;
|
|
406
|
+
}
|
|
407
|
+
.ace_icon_svg.ace_info {
|
|
408
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
|
|
409
|
+
background-color: royalblue;
|
|
410
|
+
}
|
|
411
|
+
.ace_icon_svg.ace_hint {
|
|
412
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
|
|
413
|
+
background-color: silver;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.ace_icon_svg.ace_error_fold {
|
|
417
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
|
418
|
+
background-color: crimson;
|
|
419
|
+
}
|
|
420
|
+
.ace_icon_svg.ace_security_fold {
|
|
421
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
|
422
|
+
background-color: crimson;
|
|
423
|
+
}
|
|
424
|
+
.ace_icon_svg.ace_warning_fold {
|
|
425
|
+
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
|
|
426
|
+
background-color: darkorange;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.ace_scrollbar {
|
|
430
|
+
contain: strict;
|
|
431
|
+
position: absolute;
|
|
432
|
+
right: 0;
|
|
433
|
+
bottom: 0;
|
|
434
|
+
z-index: 6;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.ace_scrollbar-inner {
|
|
438
|
+
position: absolute;
|
|
439
|
+
cursor: text;
|
|
440
|
+
left: 0;
|
|
441
|
+
top: 0;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
.ace_scrollbar-v{
|
|
445
|
+
overflow-x: hidden;
|
|
446
|
+
overflow-y: scroll;
|
|
447
|
+
top: 0;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.ace_scrollbar-h {
|
|
451
|
+
overflow-x: scroll;
|
|
452
|
+
overflow-y: hidden;
|
|
453
|
+
left: 0;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.ace_print-margin {
|
|
457
|
+
position: absolute;
|
|
458
|
+
height: 100%;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.ace_text-input {
|
|
462
|
+
position: absolute;
|
|
463
|
+
z-index: 0;
|
|
464
|
+
width: 0.5em;
|
|
465
|
+
height: 1em;
|
|
466
|
+
opacity: 0;
|
|
467
|
+
background: transparent;
|
|
468
|
+
-moz-appearance: none;
|
|
469
|
+
appearance: none;
|
|
470
|
+
border: none;
|
|
471
|
+
resize: none;
|
|
472
|
+
outline: none;
|
|
473
|
+
overflow: hidden;
|
|
474
|
+
font: inherit;
|
|
475
|
+
padding: 0 1px;
|
|
476
|
+
margin: 0 -1px;
|
|
477
|
+
contain: strict;
|
|
478
|
+
-ms-user-select: text;
|
|
479
|
+
-moz-user-select: text;
|
|
480
|
+
-webkit-user-select: text;
|
|
481
|
+
user-select: text;
|
|
482
|
+
/*with \`pre-line\` chrome inserts instead of space*/
|
|
483
|
+
white-space: pre!important;
|
|
484
|
+
}
|
|
485
|
+
.ace_text-input.ace_composition {
|
|
486
|
+
background: transparent;
|
|
487
|
+
color: inherit;
|
|
488
|
+
z-index: 1000;
|
|
489
|
+
opacity: 1;
|
|
490
|
+
}
|
|
491
|
+
.ace_composition_placeholder { color: transparent }
|
|
492
|
+
.ace_composition_marker {
|
|
493
|
+
border-bottom: 1px solid;
|
|
494
|
+
position: absolute;
|
|
495
|
+
border-radius: 0;
|
|
496
|
+
margin-top: 1px;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
[ace_nocontext=true] {
|
|
500
|
+
transform: none!important;
|
|
501
|
+
filter: none!important;
|
|
502
|
+
clip-path: none!important;
|
|
503
|
+
mask : none!important;
|
|
504
|
+
contain: none!important;
|
|
505
|
+
perspective: none!important;
|
|
506
|
+
mix-blend-mode: initial!important;
|
|
507
|
+
z-index: auto;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
.ace_layer {
|
|
511
|
+
z-index: 1;
|
|
512
|
+
position: absolute;
|
|
513
|
+
overflow: hidden;
|
|
514
|
+
/* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
|
|
515
|
+
word-wrap: normal;
|
|
516
|
+
white-space: pre;
|
|
517
|
+
height: 100%;
|
|
518
|
+
width: 100%;
|
|
519
|
+
box-sizing: border-box;
|
|
520
|
+
/* setting pointer-events: auto; on node under the mouse, which changes
|
|
521
|
+
during scroll, will break mouse wheel scrolling in Safari */
|
|
522
|
+
pointer-events: none;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
.ace_gutter-layer {
|
|
526
|
+
position: relative;
|
|
527
|
+
width: auto;
|
|
528
|
+
text-align: right;
|
|
529
|
+
pointer-events: auto;
|
|
530
|
+
height: 1000000px;
|
|
531
|
+
contain: style size layout;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
.ace_text-layer {
|
|
535
|
+
font: inherit !important;
|
|
536
|
+
position: absolute;
|
|
537
|
+
height: 1000000px;
|
|
538
|
+
width: 1000000px;
|
|
539
|
+
contain: style size layout;
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
|
|
543
|
+
contain: style size layout;
|
|
544
|
+
position: absolute;
|
|
545
|
+
top: 0;
|
|
546
|
+
left: 0;
|
|
547
|
+
right: 0;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
.ace_hidpi .ace_text-layer,
|
|
551
|
+
.ace_hidpi .ace_gutter-layer,
|
|
552
|
+
.ace_hidpi .ace_content,
|
|
553
|
+
.ace_hidpi .ace_gutter {
|
|
554
|
+
contain: strict;
|
|
555
|
+
}
|
|
556
|
+
.ace_hidpi .ace_text-layer > .ace_line,
|
|
557
|
+
.ace_hidpi .ace_text-layer > .ace_line_group {
|
|
558
|
+
contain: strict;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
.ace_cjk {
|
|
562
|
+
display: inline-block;
|
|
563
|
+
text-align: center;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
.ace_cursor-layer {
|
|
567
|
+
z-index: 4;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
.ace_cursor {
|
|
571
|
+
z-index: 4;
|
|
572
|
+
position: absolute;
|
|
573
|
+
box-sizing: border-box;
|
|
574
|
+
border-left: 2px solid;
|
|
575
|
+
/* workaround for smooth cursor repaintng whole screen in chrome */
|
|
576
|
+
transform: translatez(0);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
.ace_multiselect .ace_cursor {
|
|
580
|
+
border-left-width: 1px;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
.ace_slim-cursors .ace_cursor {
|
|
584
|
+
border-left-width: 1px;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
.ace_overwrite-cursors .ace_cursor {
|
|
588
|
+
border-left-width: 0;
|
|
589
|
+
border-bottom: 1px solid;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
.ace_hidden-cursors .ace_cursor {
|
|
593
|
+
opacity: 0.2;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
|
|
597
|
+
opacity: 0;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
.ace_smooth-blinking .ace_cursor {
|
|
601
|
+
transition: opacity 0.18s;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
.ace_animate-blinking .ace_cursor {
|
|
605
|
+
animation-duration: 1000ms;
|
|
606
|
+
animation-timing-function: step-end;
|
|
607
|
+
animation-name: blink-ace-animate;
|
|
608
|
+
animation-iteration-count: infinite;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
.ace_animate-blinking.ace_smooth-blinking .ace_cursor {
|
|
612
|
+
animation-duration: 1000ms;
|
|
613
|
+
animation-timing-function: ease-in-out;
|
|
614
|
+
animation-name: blink-ace-animate-smooth;
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
@keyframes blink-ace-animate {
|
|
618
|
+
from, to { opacity: 1; }
|
|
619
|
+
60% { opacity: 0; }
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
@keyframes blink-ace-animate-smooth {
|
|
623
|
+
from, to { opacity: 1; }
|
|
624
|
+
45% { opacity: 1; }
|
|
625
|
+
60% { opacity: 0; }
|
|
626
|
+
85% { opacity: 0; }
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
|
|
630
|
+
position: absolute;
|
|
631
|
+
z-index: 3;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
.ace_marker-layer .ace_selection {
|
|
635
|
+
position: absolute;
|
|
636
|
+
z-index: 5;
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
.ace_marker-layer .ace_bracket {
|
|
640
|
+
position: absolute;
|
|
641
|
+
z-index: 6;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
.ace_marker-layer .ace_error_bracket {
|
|
645
|
+
position: absolute;
|
|
646
|
+
border-bottom: 1px solid #DE5555;
|
|
647
|
+
border-radius: 0;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
.ace_marker-layer .ace_active-line {
|
|
651
|
+
position: absolute;
|
|
652
|
+
z-index: 2;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
.ace_marker-layer .ace_selected-word {
|
|
656
|
+
position: absolute;
|
|
657
|
+
z-index: 4;
|
|
658
|
+
box-sizing: border-box;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
.ace_line .ace_fold {
|
|
662
|
+
box-sizing: border-box;
|
|
663
|
+
|
|
664
|
+
display: inline-block;
|
|
665
|
+
height: 11px;
|
|
666
|
+
margin-top: -2px;
|
|
667
|
+
vertical-align: middle;
|
|
668
|
+
|
|
669
|
+
background-image:
|
|
670
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
|
671
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
|
|
672
|
+
background-repeat: no-repeat, repeat-x;
|
|
673
|
+
background-position: center center, top left;
|
|
674
|
+
color: transparent;
|
|
675
|
+
|
|
676
|
+
border: 1px solid black;
|
|
677
|
+
border-radius: 2px;
|
|
678
|
+
|
|
679
|
+
cursor: pointer;
|
|
680
|
+
pointer-events: auto;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
.ace_dark .ace_fold {
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
.ace_fold:hover{
|
|
687
|
+
background-image:
|
|
688
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
|
689
|
+
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
.ace_tooltip {
|
|
693
|
+
background-color: #f5f5f5;
|
|
694
|
+
border: 1px solid gray;
|
|
695
|
+
border-radius: 1px;
|
|
696
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
697
|
+
color: black;
|
|
698
|
+
padding: 3px 4px;
|
|
699
|
+
position: fixed;
|
|
700
|
+
z-index: 999999;
|
|
701
|
+
box-sizing: border-box;
|
|
702
|
+
cursor: default;
|
|
703
|
+
white-space: pre-wrap;
|
|
704
|
+
word-wrap: break-word;
|
|
705
|
+
line-height: normal;
|
|
706
|
+
font-style: normal;
|
|
707
|
+
font-weight: normal;
|
|
708
|
+
letter-spacing: normal;
|
|
709
|
+
pointer-events: none;
|
|
710
|
+
overflow: auto;
|
|
711
|
+
max-width: min(33em, 66vw);
|
|
712
|
+
overscroll-behavior: contain;
|
|
713
|
+
}
|
|
714
|
+
.ace_tooltip pre {
|
|
715
|
+
white-space: pre-wrap;
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
.ace_tooltip.ace_dark {
|
|
719
|
+
background-color: #636363;
|
|
720
|
+
color: #fff;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
.ace_tooltip:focus {
|
|
724
|
+
outline: 1px solid #5E9ED6;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
.ace_icon {
|
|
728
|
+
display: inline-block;
|
|
729
|
+
width: 18px;
|
|
730
|
+
vertical-align: top;
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
.ace_icon_svg {
|
|
734
|
+
display: inline-block;
|
|
735
|
+
width: 12px;
|
|
736
|
+
vertical-align: top;
|
|
737
|
+
-webkit-mask-repeat: no-repeat;
|
|
738
|
+
-webkit-mask-size: 12px;
|
|
739
|
+
-webkit-mask-position: center;
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
|
|
743
|
+
padding-right: 13px;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
.ace_fold-widget, .ace_custom-widget {
|
|
747
|
+
box-sizing: border-box;
|
|
748
|
+
|
|
749
|
+
margin: 0 -12px 0 1px;
|
|
750
|
+
display: none;
|
|
751
|
+
width: 11px;
|
|
752
|
+
vertical-align: top;
|
|
753
|
+
|
|
754
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
|
|
755
|
+
background-repeat: no-repeat;
|
|
756
|
+
background-position: center;
|
|
757
|
+
|
|
758
|
+
border-radius: 3px;
|
|
759
|
+
|
|
760
|
+
border: 1px solid transparent;
|
|
761
|
+
cursor: pointer;
|
|
762
|
+
pointer-events: auto;
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
.ace_custom-widget {
|
|
766
|
+
background: none;
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
.ace_folding-enabled .ace_fold-widget {
|
|
770
|
+
display: inline-block;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
.ace_fold-widget.ace_end {
|
|
774
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
.ace_fold-widget.ace_closed {
|
|
778
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
.ace_fold-widget:hover {
|
|
782
|
+
border: 1px solid rgba(0, 0, 0, 0.3);
|
|
783
|
+
background-color: rgba(255, 255, 255, 0.2);
|
|
784
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
.ace_fold-widget:active {
|
|
788
|
+
border: 1px solid rgba(0, 0, 0, 0.4);
|
|
789
|
+
background-color: rgba(0, 0, 0, 0.05);
|
|
790
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
|
791
|
+
}
|
|
792
|
+
/**
|
|
793
|
+
* Dark version for fold widgets
|
|
794
|
+
*/
|
|
795
|
+
.ace_dark .ace_fold-widget {
|
|
796
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
|
|
797
|
+
}
|
|
798
|
+
.ace_dark .ace_fold-widget.ace_end {
|
|
799
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
|
|
800
|
+
}
|
|
801
|
+
.ace_dark .ace_fold-widget.ace_closed {
|
|
802
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
|
|
803
|
+
}
|
|
804
|
+
.ace_dark .ace_fold-widget:hover {
|
|
805
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
|
806
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
807
|
+
}
|
|
808
|
+
.ace_dark .ace_fold-widget:active {
|
|
809
|
+
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
.ace_inline_button {
|
|
813
|
+
border: 1px solid lightgray;
|
|
814
|
+
display: inline-block;
|
|
815
|
+
margin: -1px 8px;
|
|
816
|
+
padding: 0 5px;
|
|
817
|
+
pointer-events: auto;
|
|
818
|
+
cursor: pointer;
|
|
819
|
+
}
|
|
820
|
+
.ace_inline_button:hover {
|
|
821
|
+
border-color: gray;
|
|
822
|
+
background: rgba(200,200,200,0.2);
|
|
823
|
+
display: inline-block;
|
|
824
|
+
pointer-events: auto;
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
.ace_fold-widget.ace_invalid {
|
|
828
|
+
background-color: #FFB4B4;
|
|
829
|
+
border-color: #DE5555;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
.ace_fade-fold-widgets .ace_fold-widget {
|
|
833
|
+
transition: opacity 0.4s ease 0.05s;
|
|
834
|
+
opacity: 0;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
.ace_fade-fold-widgets:hover .ace_fold-widget {
|
|
838
|
+
transition: opacity 0.05s ease 0.05s;
|
|
839
|
+
opacity:1;
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
.ace_underline {
|
|
843
|
+
text-decoration: underline;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
.ace_bold {
|
|
847
|
+
font-weight: bold;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
.ace_nobold .ace_bold {
|
|
851
|
+
font-weight: normal;
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
.ace_italic {
|
|
855
|
+
font-style: italic;
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
|
|
859
|
+
.ace_error-marker {
|
|
860
|
+
background-color: rgba(255, 0, 0,0.2);
|
|
861
|
+
position: absolute;
|
|
862
|
+
z-index: 9;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
.ace_highlight-marker {
|
|
866
|
+
background-color: rgba(255, 255, 0,0.2);
|
|
867
|
+
position: absolute;
|
|
868
|
+
z-index: 8;
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
.ace_mobile-menu {
|
|
872
|
+
position: absolute;
|
|
873
|
+
line-height: 1.5;
|
|
874
|
+
border-radius: 4px;
|
|
875
|
+
-ms-user-select: none;
|
|
876
|
+
-moz-user-select: none;
|
|
877
|
+
-webkit-user-select: none;
|
|
878
|
+
user-select: none;
|
|
879
|
+
background: white;
|
|
880
|
+
box-shadow: 1px 3px 2px grey;
|
|
881
|
+
border: 1px solid #dcdcdc;
|
|
882
|
+
color: black;
|
|
883
|
+
}
|
|
884
|
+
.ace_dark > .ace_mobile-menu {
|
|
885
|
+
background: #333;
|
|
886
|
+
color: #ccc;
|
|
887
|
+
box-shadow: 1px 3px 2px grey;
|
|
888
|
+
border: 1px solid #444;
|
|
889
|
+
|
|
890
|
+
}
|
|
891
|
+
.ace_mobile-button {
|
|
892
|
+
padding: 2px;
|
|
893
|
+
cursor: pointer;
|
|
894
|
+
overflow: hidden;
|
|
895
|
+
}
|
|
896
|
+
.ace_mobile-button:hover {
|
|
897
|
+
background-color: #eee;
|
|
898
|
+
opacity:1;
|
|
899
|
+
}
|
|
900
|
+
.ace_mobile-button:active {
|
|
901
|
+
background-color: #ddd;
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
.ace_placeholder {
|
|
905
|
+
position: relative;
|
|
906
|
+
font-family: arial;
|
|
907
|
+
transform: scale(0.9);
|
|
908
|
+
transform-origin: left;
|
|
909
|
+
white-space: pre;
|
|
910
|
+
opacity: 0.7;
|
|
911
|
+
margin: 0 10px;
|
|
912
|
+
z-index: 1;
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
.ace_ghost_text {
|
|
916
|
+
opacity: 0.5;
|
|
917
|
+
font-style: italic;
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
.ace_ghost_text_container > div {
|
|
921
|
+
white-space: pre;
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
.ghost_text_line_wrapped::after {
|
|
925
|
+
content: "\u21A9";
|
|
926
|
+
position: absolute;
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
.ace_lineWidgetContainer.ace_ghost_text {
|
|
930
|
+
margin: 0px 4px
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
.ace_screenreader-only {
|
|
934
|
+
position:absolute;
|
|
935
|
+
left:-10000px;
|
|
936
|
+
top:auto;
|
|
937
|
+
width:1px;
|
|
938
|
+
height:1px;
|
|
939
|
+
overflow:hidden;
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
.ace_hidden_token {
|
|
943
|
+
display: none;
|
|
944
|
+
}`});ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(g,y,R){"use strict";var $=g("../lib/dom"),w=g("../lib/oop"),d=g("../lib/event_emitter").EventEmitter,s=function(){function a(o,i){this.renderer=i,this.pixelRatio=1,this.maxHeight=i.layerConfig.maxHeight,this.lineHeight=i.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},this.setScrollBarV(o)}return a.prototype.$createCanvas=function(){this.canvas=$.createElement("canvas"),this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7",this.canvas.style.position="absolute"},a.prototype.setScrollBarV=function(o){this.$createCanvas(),this.scrollbarV=o,o.element.appendChild(this.canvas),this.setDimensions()},a.prototype.$updateDecorators=function(o){if(typeof this.canvas.getContext!="function")return;var i=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(o);var n=this.canvas.getContext("2d");function t(x,m){return x.priority<m.priority?-1:x.priority>m.priority?1:0}var e=this.renderer.session.$annotations;if(n.clearRect(0,0,this.canvas.width,this.canvas.height),e){var r={info:1,warning:2,error:3};e.forEach(function(x){x.priority=r[x.type]||null}),e=e.sort(t);for(var l=0;l<e.length;l++){var c=e[l].row,u=this.getVerticalOffsetForRow(c),f=u+this.lineHeight,p=Math.round(this.heightRatio*u),b=Math.round(this.heightRatio*f),k=Math.round((p+b)/2),v=b-k;v<this.halfMinDecorationHeight&&(v=this.halfMinDecorationHeight),k-v<0&&(k=v),k+v>this.canvasHeight&&(k=this.canvasHeight-v);var A=k-v,M=k+v,E=M-A;n.fillStyle=i[e[l].type]||null,n.fillRect(0,A,Math.round(this.oneZoneWidth-1),E)}}var _=this.renderer.session.selection.getCursor();if(_){var C=Math.round(this.getVerticalOffsetForRow(_.row)*this.heightRatio);n.fillStyle="rgba(0, 0, 0, 0.5)",n.fillRect(0,C,this.canvasWidth,2)}},a.prototype.getVerticalOffsetForRow=function(o){o=o|0;var i=this.renderer.session.documentToScreenRow(o,0)*this.lineHeight;return i},a.prototype.setDimensions=function(o){o=o||this.renderer.layerConfig,this.maxHeight=o.maxHeight,this.lineHeight=o.lineHeight,this.canvasHeight=o.height,this.canvasWidth=this.scrollbarV.width||this.canvasWidth,this.setZoneWidth(),this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.maxHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight},a.prototype.setZoneWidth=function(){this.oneZoneWidth=this.canvasWidth},a.prototype.destroy=function(){this.canvas.parentNode.removeChild(this.canvas)},a}();w.implement(s.prototype,d),y.Decorator=s});ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(g,y,R){"use strict";var $=g("./lib/oop"),w=g("./lib/dom"),d=g("./lib/lang"),s=g("./config"),a=g("./layer/gutter").Gutter,o=g("./layer/marker").Marker,i=g("./layer/text").Text,n=g("./layer/cursor").Cursor,t=g("./scrollbar").HScrollBar,e=g("./scrollbar").VScrollBar,r=g("./scrollbar_custom").HScrollBar,l=g("./scrollbar_custom").VScrollBar,c=g("./renderloop").RenderLoop,u=g("./layer/font_metrics").FontMetrics,f=g("./lib/event_emitter").EventEmitter,p=g("./css/editor-css"),b=g("./layer/decorators").Decorator,k=g("./lib/useragent"),v=g("./layer/text_util").isTextToken;w.importCssString(p,"ace_editor.css",!1);var A=function(){function M(E,_){var C=this;this.container=E||w.createElement("div"),w.addCssClass(this.container,"ace_editor"),w.HI_DPI&&w.addCssClass(this.container,"ace_hidpi"),this.setTheme(_),s.get("useStrictCSP")==null&&s.set("useStrictCSP",!1),this.$gutter=w.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=w.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=w.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new a(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new o(this.content);var x=this.$textLayer=new i(this.content);this.canvas=x.element,this.$markerFront=new o(this.content),this.$cursorLayer=new n(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.on("scroll",function(m){C.$scrollAnimation||C.session.setScrollTop(m.data-C.scrollMargin.top)}),this.scrollBarH.on("scroll",function(m){C.$scrollAnimation||C.session.setScrollLeft(m.data-C.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new u(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(m){C.updateCharacterSize(),C.onResize(!0,C.gutterWidth,C.$size.width,C.$size.height),C._signal("changeCharacterSize",m)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!k.isIOS,this.$loop=new c(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),s.resetOptions(this),s._signal("renderer",this)}return M.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),w.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},M.prototype.setSession=function(E){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=E,E&&this.scrollMargin.top&&E.getScrollTop()<=0&&E.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(E),this.$markerBack.setSession(E),this.$markerFront.setSession(E),this.$gutterLayer.setSession(E),this.$textLayer.setSession(E),E&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},M.prototype.updateLines=function(E,_,C){if(_===void 0&&(_=1/0),this.$changedLines?(this.$changedLines.firstRow>E&&(this.$changedLines.firstRow=E),this.$changedLines.lastRow<_&&(this.$changedLines.lastRow=_)):this.$changedLines={firstRow:E,lastRow:_},this.$changedLines.lastRow<this.layerConfig.firstRow)if(C)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},M.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},M.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},M.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},M.prototype.updateFull=function(E){E?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},M.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},M.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},M.prototype.onResize=function(E,_,C,x){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=E?1:0;var m=this.container;x||(x=m.clientHeight||m.scrollHeight),!x&&this.$maxLines&&this.lineHeight>1&&(!m.style.height||m.style.height=="0px")&&(m.style.height="1px",x=m.clientHeight||m.scrollHeight),C||(C=m.clientWidth||m.scrollWidth);var h=this.$updateCachedSize(E,_,C,x);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!C&&!x)return this.resizing=0;E&&(this.$gutterLayer.$padding=null),E?this.$renderChanges(h|this.$changes,!0):this.$loop.schedule(h|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},M.prototype.$updateCachedSize=function(E,_,C,x){x-=this.$extraHeight||0;var m=0,h=this.$size,S={width:h.width,height:h.height,scrollerHeight:h.scrollerHeight,scrollerWidth:h.scrollerWidth};if(x&&(E||h.height!=x)&&(h.height=x,m|=this.CHANGE_SIZE,h.scrollerHeight=h.height,this.$horizScroll&&(h.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(h.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",m=m|this.CHANGE_SCROLL),C&&(E||h.width!=C)){m|=this.CHANGE_SIZE,h.width=C,_==null&&(_=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=_,w.setStyle(this.scrollBarH.element.style,"left",_+"px"),w.setStyle(this.scroller.style,"left",_+this.margin.left+"px"),h.scrollerWidth=Math.max(0,C-_-this.scrollBarV.getWidth()-this.margin.h),w.setStyle(this.$gutter.style,"left",this.margin.left+"px");var L=this.scrollBarV.getWidth()+"px";w.setStyle(this.scrollBarH.element.style,"right",L),w.setStyle(this.scroller.style,"right",L),w.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(h.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||E)&&(m|=this.CHANGE_FULL)}return h.$dirty=!C||!x,m&&this._signal("resize",S),m},M.prototype.onGutterResize=function(E){var _=this.$showGutter?E:0;_!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,_,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},M.prototype.adjustWrapLimit=function(){var E=this.$size.scrollerWidth-this.$padding*2,_=Math.floor(E/this.characterWidth);return this.session.adjustWrapLimit(_,this.$showPrintMargin&&this.$printMarginColumn)},M.prototype.setAnimatedScroll=function(E){this.setOption("animatedScroll",E)},M.prototype.getAnimatedScroll=function(){return this.$animatedScroll},M.prototype.setShowInvisibles=function(E){this.setOption("showInvisibles",E),this.session.$bidiHandler.setShowInvisibles(E)},M.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},M.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},M.prototype.setDisplayIndentGuides=function(E){this.setOption("displayIndentGuides",E)},M.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},M.prototype.setHighlightIndentGuides=function(E){this.setOption("highlightIndentGuides",E)},M.prototype.setShowPrintMargin=function(E){this.setOption("showPrintMargin",E)},M.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},M.prototype.setPrintMarginColumn=function(E){this.setOption("printMarginColumn",E)},M.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},M.prototype.getShowGutter=function(){return this.getOption("showGutter")},M.prototype.setShowGutter=function(E){return this.setOption("showGutter",E)},M.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},M.prototype.setFadeFoldWidgets=function(E){this.setOption("fadeFoldWidgets",E)},M.prototype.setHighlightGutterLine=function(E){this.setOption("highlightGutterLine",E)},M.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},M.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var E=w.createElement("div");E.className="ace_layer ace_print-margin-layer",this.$printMarginEl=w.createElement("div"),this.$printMarginEl.className="ace_print-margin",E.appendChild(this.$printMarginEl),this.content.insertBefore(E,this.content.firstChild)}var _=this.$printMarginEl.style;_.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",_.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},M.prototype.getContainerElement=function(){return this.container},M.prototype.getMouseEventTarget=function(){return this.scroller},M.prototype.getTextAreaContainer=function(){return this.container},M.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var E=this.textarea.style,_=this.$composition;if(!this.$keepTextAreaAtCursor&&!_){w.translate(this.textarea,-100,0);return}var C=this.$cursorLayer.$pixelPos;if(C){_&&_.markerRange&&(C=this.$cursorLayer.getPixelPosition(_.markerRange.start,!0));var x=this.layerConfig,m=C.top,h=C.left;m-=x.offset;var S=_&&_.useTextareaForIME||k.isMobile?this.lineHeight:1;if(m<0||m>x.height-S){w.translate(this.textarea,0,0);return}var L=1,T=this.$size.height-S;if(!_)m+=this.lineHeight;else if(_.useTextareaForIME){var I=this.textarea.value;L=this.characterWidth*this.session.$getStringScreenWidth(I)[0]}else m+=this.lineHeight+2;h-=this.scrollLeft,h>this.$size.scrollerWidth-L&&(h=this.$size.scrollerWidth-L),h+=this.gutterWidth+this.margin.left,w.setStyle(E,"height",S+"px"),w.setStyle(E,"width",L+"px"),w.translate(this.textarea,Math.min(h,this.$size.scrollerWidth-L),Math.min(m,T))}}},M.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},M.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},M.prototype.getLastFullyVisibleRow=function(){var E=this.layerConfig,_=E.lastRow,C=this.session.documentToScreenRow(_,0)*E.lineHeight;return C-this.session.getScrollTop()>E.height-E.lineHeight?_-1:_},M.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},M.prototype.setPadding=function(E){this.$padding=E,this.$textLayer.setPadding(E),this.$cursorLayer.setPadding(E),this.$markerFront.setPadding(E),this.$markerBack.setPadding(E),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},M.prototype.setScrollMargin=function(E,_,C,x){var m=this.scrollMargin;m.top=E|0,m.bottom=_|0,m.right=x|0,m.left=C|0,m.v=m.top+m.bottom,m.h=m.left+m.right,m.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-m.top),this.updateFull()},M.prototype.setMargin=function(E,_,C,x){var m=this.margin;m.top=E|0,m.bottom=_|0,m.right=x|0,m.left=C|0,m.v=m.top+m.bottom,m.h=m.left+m.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},M.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},M.prototype.setHScrollBarAlwaysVisible=function(E){this.setOption("hScrollBarAlwaysVisible",E)},M.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},M.prototype.setVScrollBarAlwaysVisible=function(E){this.setOption("vScrollBarAlwaysVisible",E)},M.prototype.$updateScrollBarV=function(){var E=this.layerConfig.maxHeight,_=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(E-=(_-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>E-_&&(E=this.scrollTop+_,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(E+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},M.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},M.prototype.freeze=function(){this.$frozen=!0},M.prototype.unfreeze=function(){this.$frozen=!1},M.prototype.$renderChanges=function(E,_){if(this.$changes&&(E|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!E&&!_){this.$changes|=E;return}if(this.$size.$dirty)return this.$changes|=E,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",E),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var C=this.layerConfig;if(E&this.CHANGE_FULL||E&this.CHANGE_SIZE||E&this.CHANGE_TEXT||E&this.CHANGE_LINES||E&this.CHANGE_SCROLL||E&this.CHANGE_H_SCROLL){if(E|=this.$computeLayerConfig()|this.$loop.clear(),C.firstRow!=this.layerConfig.firstRow&&C.firstRowScreen==this.layerConfig.firstRowScreen){var x=this.scrollTop+(C.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;x>0&&(this.scrollTop=x,E=E|this.CHANGE_SCROLL,E|=this.$computeLayerConfig()|this.$loop.clear())}C=this.layerConfig,this.$updateScrollBarV(),E&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),w.translate(this.content,-this.scrollLeft,-C.offset);var m=C.width+2*this.$padding+"px",h=C.minHeight+"px";w.setStyle(this.content.style,"width",m),w.setStyle(this.content.style,"height",h)}if(E&this.CHANGE_H_SCROLL&&(w.translate(this.content,-this.scrollLeft,-C.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),E&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(C),this.$showGutter&&this.$gutterLayer.update(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C),this.$markerBack.update(C),this.$markerFront.update(C),this.$cursorLayer.update(C),this.$moveTextAreaToCursor(),this._signal("afterRender",E);return}if(E&this.CHANGE_SCROLL){this.$changedLines=null,E&this.CHANGE_TEXT||E&this.CHANGE_LINES?this.$textLayer.update(C):this.$textLayer.scrollLines(C),this.$showGutter&&(E&this.CHANGE_GUTTER||E&this.CHANGE_LINES?this.$gutterLayer.update(C):this.$gutterLayer.scrollLines(C)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C),this.$markerBack.update(C),this.$markerFront.update(C),this.$cursorLayer.update(C),this.$moveTextAreaToCursor(),this._signal("afterRender",E);return}E&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(C),this.$showGutter&&this.$gutterLayer.update(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C)):E&this.CHANGE_LINES?((this.$updateLines()||E&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C)):E&this.CHANGE_TEXT||E&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C)):E&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C)),E&this.CHANGE_CURSOR&&(this.$cursorLayer.update(C),this.$moveTextAreaToCursor()),E&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(C),E&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(C),this._signal("afterRender",E)},M.prototype.$autosize=function(){var E=this.session.getScreenLength()*this.lineHeight,_=this.$maxLines*this.lineHeight,C=Math.min(_,Math.max((this.$minLines||1)*this.lineHeight,E))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(C+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&C>this.$maxPixelHeight&&(C=this.$maxPixelHeight);var x=C<=2*this.lineHeight,m=!x&&E>_;if(C!=this.desiredHeight||this.$size.height!=this.desiredHeight||m!=this.$vScroll){m!=this.$vScroll&&(this.$vScroll=m,this.scrollBarV.setVisible(m));var h=this.container.clientWidth;this.container.style.height=C+"px",this.$updateCachedSize(!0,this.$gutterWidth,h,C),this.desiredHeight=C,this._signal("autosize")}},M.prototype.$computeLayerConfig=function(){var E=this.session,_=this.$size,C=_.height<=2*this.lineHeight,x=this.session.getScreenLength(),m=x*this.lineHeight,h=this.$getLongestLine(),S=!C&&(this.$hScrollBarAlwaysVisible||_.scrollerWidth-h-2*this.$padding<0),L=this.$horizScroll!==S;L&&(this.$horizScroll=S,this.scrollBarH.setVisible(S));var T=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),C=_.height<=2*this.lineHeight);var I=_.scrollerHeight+this.lineHeight,D=!this.$maxLines&&this.$scrollPastEnd?(_.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;m+=D;var O=this.scrollMargin;this.session.setScrollTop(Math.max(-O.top,Math.min(this.scrollTop,m-_.scrollerHeight+O.bottom))),this.session.setScrollLeft(Math.max(-O.left,Math.min(this.scrollLeft,h+2*this.$padding-_.scrollerWidth+O.right)));var N=!C&&(this.$vScrollBarAlwaysVisible||_.scrollerHeight-m+D<0||this.scrollTop>O.top),F=T!==N;F&&(this.$vScroll=N,this.scrollBarV.setVisible(N));var W=this.scrollTop%this.lineHeight,B=Math.ceil(I/this.lineHeight)-1,H=Math.max(0,Math.round((this.scrollTop-W)/this.lineHeight)),z=H+B,U,j,P=this.lineHeight;H=E.screenToDocumentRow(H,0);var G=E.getFoldLine(H);G&&(H=G.start.row),U=E.documentToScreenRow(H,0),j=E.getRowLength(H)*P,z=Math.min(E.screenToDocumentRow(z,0),E.getLength()-1),I=_.scrollerHeight+E.getRowLength(z)*P+j,W=this.scrollTop-U*P,W<0&&U>0&&(U=Math.max(0,U+Math.floor(W/P)),W=this.scrollTop-U*P);var V=0;return(this.layerConfig.width!=h||L)&&(V=this.CHANGE_H_SCROLL),(L||F)&&(V|=this.$updateCachedSize(!0,this.gutterWidth,_.width,_.height),this._signal("scrollbarVisibilityChanged"),F&&(h=this.$getLongestLine())),this.layerConfig={width:h,padding:this.$padding,firstRow:H,firstRowScreen:U,lastRow:z,lineHeight:P,characterWidth:this.characterWidth,minHeight:I,maxHeight:m,offset:W,gutterOffset:P?Math.max(0,Math.ceil((W+_.height-_.scrollerHeight)/P)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(h-this.$padding),V},M.prototype.$updateLines=function(){if(this.$changedLines){var E=this.$changedLines.firstRow,_=this.$changedLines.lastRow;this.$changedLines=null;var C=this.layerConfig;if(!(E>C.lastRow+1)&&!(_<C.firstRow)){if(_===1/0){this.$showGutter&&this.$gutterLayer.update(C),this.$textLayer.update(C);return}return this.$textLayer.updateLines(C,E,_),!0}}},M.prototype.$getLongestLine=function(){var E=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(E+=1),this.$textLayer&&E>this.$textLayer.MAX_LINE_LENGTH&&(E=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(E*this.characterWidth))},M.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},M.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},M.prototype.addGutterDecoration=function(E,_){this.$gutterLayer.addGutterDecoration(E,_)},M.prototype.removeGutterDecoration=function(E,_){this.$gutterLayer.removeGutterDecoration(E,_)},M.prototype.updateBreakpoints=function(E){this._rows=E,this.$loop.schedule(this.CHANGE_GUTTER)},M.prototype.setAnnotations=function(E){this.$gutterLayer.setAnnotations(E),this.$loop.schedule(this.CHANGE_GUTTER)},M.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},M.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},M.prototype.showCursor=function(){this.$cursorLayer.showCursor()},M.prototype.scrollSelectionIntoView=function(E,_,C){this.scrollCursorIntoView(E,C),this.scrollCursorIntoView(_,C)},M.prototype.scrollCursorIntoView=function(E,_,C){if(this.$size.scrollerHeight!==0){var x=this.$cursorLayer.getPixelPosition(E),m=x.left,h=x.top,S=C&&C.top||0,L=C&&C.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var T=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;T+S>h?(_&&T+S>h+this.lineHeight&&(h-=_*this.$size.scrollerHeight),h===0&&(h=-this.scrollMargin.top),this.session.setScrollTop(h)):T+this.$size.scrollerHeight-L<h+this.lineHeight&&(_&&T+this.$size.scrollerHeight-L<h-this.lineHeight&&(h+=_*this.$size.scrollerHeight),this.session.setScrollTop(h+this.lineHeight+L-this.$size.scrollerHeight));var I=this.scrollLeft,D=2*this.layerConfig.characterWidth;m-D<I?(m-=D,m<this.$padding+D&&(m=-this.scrollMargin.left),this.session.setScrollLeft(m)):(m+=D,I+this.$size.scrollerWidth<m+this.characterWidth?this.session.setScrollLeft(Math.round(m+this.characterWidth-this.$size.scrollerWidth)):I<=this.$padding&&m-I<this.characterWidth&&this.session.setScrollLeft(0))}},M.prototype.getScrollTop=function(){return this.session.getScrollTop()},M.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},M.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},M.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},M.prototype.scrollToRow=function(E){this.session.setScrollTop(E*this.lineHeight)},M.prototype.alignCursor=function(E,_){typeof E=="number"&&(E={row:E,column:0});var C=this.$cursorLayer.getPixelPosition(E),x=this.$size.scrollerHeight-this.lineHeight,m=C.top-x*(_||0);return this.session.setScrollTop(m),m},M.prototype.$calcSteps=function(E,_){var C=0,x=this.STEPS,m=[],h=function(S,L,T){return T*(Math.pow(S-1,3)+1)+L};for(C=0;C<x;++C)m.push(h(C/this.STEPS,E,_-E));return m},M.prototype.scrollToLine=function(E,_,C,x){var m=this.$cursorLayer.getPixelPosition({row:E,column:0}),h=m.top;_&&(h-=this.$size.scrollerHeight/2);var S=this.scrollTop;this.session.setScrollTop(h),C!==!1&&this.animateScrolling(S,x)},M.prototype.animateScrolling=function(E,_){var C=this.scrollTop;if(!this.$animatedScroll)return;var x=this;if(E==C)return;if(this.$scrollAnimation){var m=this.$scrollAnimation.steps;if(m.length&&(E=m[0],E==C))return}var h=x.$calcSteps(E,C);this.$scrollAnimation={from:E,to:C,steps:h},clearInterval(this.$timer),x.session.setScrollTop(h.shift()),x.session.$scrollTop=C;function S(){x.$timer=clearInterval(x.$timer),x.$scrollAnimation=null,x.$stopAnimation=!1,_&&_()}this.$timer=setInterval(function(){if(x.$stopAnimation){S();return}if(!x.session)return clearInterval(x.$timer);h.length?(x.session.setScrollTop(h.shift()),x.session.$scrollTop=C):C!=null?(x.session.$scrollTop=-1,x.session.setScrollTop(C),C=null):S()},10)},M.prototype.scrollToY=function(E){this.scrollTop!==E&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=E)},M.prototype.scrollToX=function(E){this.scrollLeft!==E&&(this.scrollLeft=E),this.$loop.schedule(this.CHANGE_H_SCROLL)},M.prototype.scrollTo=function(E,_){this.session.setScrollTop(_),this.session.setScrollLeft(E)},M.prototype.scrollBy=function(E,_){_&&this.session.setScrollTop(this.session.getScrollTop()+_),E&&this.session.setScrollLeft(this.session.getScrollLeft()+E)},M.prototype.isScrollableBy=function(E,_){if(_<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||_>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||E<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||E>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},M.prototype.pixelToScreenCoordinates=function(E,_){var C;if(this.$hasCssTransforms){C={top:0,left:0};var x=this.$fontMetrics.transformCoordinates([E,_]);E=x[1]-this.gutterWidth-this.margin.left,_=x[0]}else C=this.scroller.getBoundingClientRect();var m=E+this.scrollLeft-C.left-this.$padding,h=m/this.characterWidth,S=Math.floor((_+this.scrollTop-C.top)/this.lineHeight),L=this.$blockCursor?Math.floor(h):Math.round(h);return{row:S,column:L,side:h-L>0?1:-1,offsetX:m}},M.prototype.screenToTextCoordinates=function(E,_){var C;if(this.$hasCssTransforms){C={top:0,left:0};var x=this.$fontMetrics.transformCoordinates([E,_]);E=x[1]-this.gutterWidth-this.margin.left,_=x[0]}else C=this.scroller.getBoundingClientRect();var m=E+this.scrollLeft-C.left-this.$padding,h=m/this.characterWidth,S=this.$blockCursor?Math.floor(h):Math.round(h),L=Math.floor((_+this.scrollTop-C.top)/this.lineHeight);return this.session.screenToDocumentPosition(L,Math.max(S,0),m)},M.prototype.textToScreenCoordinates=function(E,_){var C=this.scroller.getBoundingClientRect(),x=this.session.documentToScreenPosition(E,_),m=this.$padding+(this.session.$bidiHandler.isBidiRow(x.row,E)?this.session.$bidiHandler.getPosLeft(x.column):Math.round(x.column*this.characterWidth)),h=x.row*this.lineHeight;return{pageX:C.left+m-this.scrollLeft,pageY:C.top+h-this.scrollTop}},M.prototype.visualizeFocus=function(){w.addCssClass(this.container,"ace_focus")},M.prototype.visualizeBlur=function(){w.removeCssClass(this.container,"ace_focus")},M.prototype.showComposition=function(E){this.$composition=E,E.cssText||(E.cssText=this.textarea.style.cssText),E.useTextareaForIME==null&&(E.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(w.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):E.markerId=this.session.addMarker(E.markerRange,"ace_composition_marker","text")},M.prototype.setCompositionText=function(E){var _=this.session.selection.cursor;this.addToken(E,"composition_placeholder",_.row,_.column),this.$moveTextAreaToCursor()},M.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),w.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var E=this.session.selection.cursor;this.removeExtraToken(E.row,E.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},M.prototype.setGhostText=function(E,_){var C=this.session.selection.cursor,x=_||{row:C.row,column:C.column};this.removeGhostText();var m=this.$calculateWrappedTextChunks(E,x);this.addToken(m[0].text,"ghost_text",x.row,x.column),this.$ghostText={text:E,position:{row:x.row,column:x.column}};var h=w.createElement("div");if(m.length>1){var S=this.hideTokensAfterPosition(x.row,x.column),L;m.slice(1).forEach(function(F){var W=w.createElement("div"),B=w.createElement("span");B.className="ace_ghost_text",F.wrapped&&(W.className="ghost_text_line_wrapped"),F.text.length===0&&(F.text=" "),B.appendChild(w.createTextNode(F.text)),W.appendChild(B),h.appendChild(W),L=W}),S.forEach(function(F){var W=w.createElement("span");v(F.type)||(W.className="ace_"+F.type.replace(/\./g," ace_")),W.appendChild(w.createTextNode(F.value)),L.appendChild(W)}),this.$ghostTextWidget={el:h,row:x.row,column:x.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var T=this.$cursorLayer.getPixelPosition(x,!0),I=this.container,D=I.getBoundingClientRect().height,O=m.length*this.lineHeight,N=O<D-T.top;if(N)return;O<D?this.scrollBy(0,(m.length-1)*this.lineHeight):this.scrollToRow(x.row)}},M.prototype.$calculateWrappedTextChunks=function(E,_){var C=this.$size.scrollerWidth-this.$padding*2,x=Math.floor(C/this.characterWidth)-2;x=x<=0?60:x;for(var m=E.split(/\r?\n/),h=[],S=0;S<m.length;S++){var L=this.session.$getDisplayTokens(m[S],_.column),T=this.session.$computeWrapSplits(L,x,this.session.$tabSize);if(T.length>0){var I=0;T.push(m[S].length);for(var D=0;D<T.length;D++){var O=m[S].slice(I,T[D]);h.push({text:O,wrapped:!0}),I=T[D]}}else h.push({text:m[S],wrapped:!1})}return h},M.prototype.removeGhostText=function(){if(this.$ghostText){var E=this.$ghostText.position;this.removeExtraToken(E.row,E.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},M.prototype.addToken=function(E,_,C,x){var m=this.session;m.bgTokenizer.lines[C]=null;var h={type:_,value:E},S=m.getTokens(C);if(x==null||!S.length)S.push(h);else for(var L=0,T=0;T<S.length;T++){var I=S[T];if(L+=I.value.length,x<=L){var D=I.value.length-(L-x),O=I.value.slice(0,D),N=I.value.slice(D);S.splice(T,1,{type:I.type,value:O},h,{type:I.type,value:N});break}}this.updateLines(C,C)},M.prototype.hideTokensAfterPosition=function(E,_){for(var C=this.session.getTokens(E),x=0,m=!1,h=[],S=0;S<C.length;S++){var L=C[S];if(x+=L.value.length,L.type!=="ghost_text"){if(m){h.push({type:L.type,value:L.value}),L.type="hidden_token";continue}x===_&&(m=!0)}}return this.updateLines(E,E),h},M.prototype.removeExtraToken=function(E,_){this.session.bgTokenizer.lines[E]=null,this.updateLines(E,E)},M.prototype.setTheme=function(E,_){var C=this;if(this.$themeId=E,C._dispatchEvent("themeChange",{theme:E}),!E||typeof E=="string"){var x=E||this.$options.theme.initialValue;s.loadModule(["theme",x],m)}else m(E);function m(h){if(C.$themeId!=E)return _&&_();if(!h||!h.cssClass)throw new Error("couldn't load module "+E+" or it didn't call define");h.$id&&(C.$themeId=h.$id),w.importCssString(h.cssText,h.cssClass,C.container),C.theme&&w.removeCssClass(C.container,C.theme.cssClass);var S="padding"in h?h.padding:"padding"in(C.theme||{})?4:C.$padding;if(C.$padding&&S!=C.$padding&&C.setPadding(S),C.$gutterLayer){var L=h.$showGutterCursorMarker;L&&!C.$gutterLayer.$showCursorMarker?C.$gutterLayer.$showCursorMarker="theme":!L&&C.$gutterLayer.$showCursorMarker=="theme"&&(C.$gutterLayer.$showCursorMarker=null)}C.$theme=h.cssClass,C.theme=h,w.addCssClass(C.container,h.cssClass),w.setCssClass(C.container,"ace_dark",h.isDark),C.$size&&(C.$size.width=0,C.$updateSizeAsync()),C._dispatchEvent("themeLoaded",{theme:h}),_&&_(),k.isSafari&&C.scroller&&(C.scroller.style.background="red",C.scroller.style.background="")}},M.prototype.getTheme=function(){return this.$themeId},M.prototype.setStyle=function(E,_){w.setCssClass(this.container,E,_!==!1)},M.prototype.unsetStyle=function(E){w.removeCssClass(this.container,E)},M.prototype.setCursorStyle=function(E){w.setStyle(this.scroller.style,"cursor",E)},M.prototype.setMouseCursor=function(E){w.setStyle(this.scroller.style,"cursor",E)},M.prototype.attachToShadowRoot=function(){w.importCssString(p,"ace_editor.css",this.container)},M.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},M.prototype.$updateCustomScrollbar=function(E){var _=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),E===!0?(this.scrollBarV=new l(this.container,this),this.scrollBarH=new r(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(C){_.$scrollAnimation||_.session.setScrollTop(C.data-_.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(C){_.$scrollAnimation||_.session.setScrollLeft(C.data-_.scrollMargin.left)}),this.$scrollDecorator?(this.$scrollDecorator.setScrollBarV(this.scrollBarV),this.$scrollDecorator.$updateDecorators()):(this.$scrollDecorator=new b(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators())):(this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.addEventListener("scroll",function(C){_.$scrollAnimation||_.session.setScrollTop(C.data-_.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(C){_.$scrollAnimation||_.session.setScrollLeft(C.data-_.scrollMargin.left)}))},M.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var E=this;this.$resizeTimer=d.delayedCall(function(){E.destroyed||E.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(_){var C=_[0].contentRect.width,x=_[0].contentRect.height;Math.abs(E.$size.width-C)>1||Math.abs(E.$size.height-x)>1?E.$resizeTimer.delay():E.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},M}();A.prototype.CHANGE_CURSOR=1,A.prototype.CHANGE_MARKER=2,A.prototype.CHANGE_GUTTER=4,A.prototype.CHANGE_SCROLL=8,A.prototype.CHANGE_LINES=16,A.prototype.CHANGE_TEXT=32,A.prototype.CHANGE_SIZE=64,A.prototype.CHANGE_MARKER_BACK=128,A.prototype.CHANGE_MARKER_FRONT=256,A.prototype.CHANGE_FULL=512,A.prototype.CHANGE_H_SCROLL=1024,A.prototype.$changes=0,A.prototype.$padding=null,A.prototype.$frozen=!1,A.prototype.STEPS=8,$.implement(A.prototype,f),s.defineOptions(A.prototype,"renderer",{useResizeObserver:{set:function(M){!M&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):M&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(M){this.$textLayer.setShowInvisibles(M)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(M){typeof M=="number"&&(this.$printMarginColumn=M),this.$showPrintMargin=!!M,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(M){this.$gutter.style.display=M?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(M){this.$gutterLayer.$useSvgGutterIcons=M},initialValue:!1},showFoldedAnnotations:{set:function(M){this.$gutterLayer.$showFoldedAnnotations=M},initialValue:!1},fadeFoldWidgets:{set:function(M){w.setCssClass(this.$gutter,"ace_fade-fold-widgets",M)},initialValue:!1},showFoldWidgets:{set:function(M){this.$gutterLayer.setShowFoldWidgets(M),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(M){this.$textLayer.setDisplayIndentGuides(M)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(M){this.$textLayer.setHighlightIndentGuides(M)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(M){this.$gutterLayer.setHighlightGutterLine(M),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(M){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(M){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(M){typeof M=="number"&&(M=M+"px"),this.container.style.fontSize=M,this.updateFontSize()},initialValue:12},fontFamily:{set:function(M){this.container.style.fontFamily=M,this.updateFontSize()}},maxLines:{set:function(M){this.updateFull()}},minLines:{set:function(M){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(M){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(M){M=+M||0,this.$scrollPastEnd!=M&&(this.$scrollPastEnd=M,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(M){this.$gutterLayer.$fixedWidth=!!M,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(M){this.$updateCustomScrollbar(M)},initialValue:!1},theme:{set:function(M){this.setTheme(M)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!k.isMobile&&!k.isIE}}),y.VirtualRenderer=A});ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("../lib/net"),d=g("../lib/event_emitter").EventEmitter,s=g("../config");function a(t){var e="importScripts('"+w.qualifyURL(t)+"');";try{return new Blob([e],{type:"application/javascript"})}catch{var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,l=new r;return l.append(e),l.getBlob("application/javascript")}}function o(t){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(s.get("loadWorkerFromBlob")){var e=a(t),r=window.URL||window.webkitURL,l=r.createObjectURL(e);return new Worker(l)}return new Worker(t)}var i=function(t){t.postMessage||(t=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=t,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){$.implement(this,d),this.$createWorkerFromOldConfig=function(t,e,r,l,c){if(g.nameToUrl&&!g.toUrl&&(g.toUrl=g.nameToUrl),s.get("packaged")||!g.toUrl)l=l||s.moduleUrl(e,"worker");else{var u=this.$normalizePath;l=l||u(g.toUrl("ace/worker/worker.js",null,"_"));var f={};t.forEach(function(p){f[p]=u(g.toUrl(p,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=o(l),c&&this.send("importScripts",c),this.$worker.postMessage({init:!0,tlns:f,module:e,classname:r}),this.$worker},this.onMessage=function(t){var e=t.data;switch(e.type){case"event":this._signal(e.name,{data:e.data});break;case"call":var r=this.callbacks[e.id];r&&(r(e.data),delete this.callbacks[e.id]);break;case"error":this.reportError(e.data);break;case"log":window.console&&console.log&&console.log.apply(console,e.data);break}},this.reportError=function(t){window.console&&console.error&&console.error(t)},this.$normalizePath=function(t){return w.qualifyURL(t)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(t){t.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(t,e){this.$worker.postMessage({command:t,args:e})},this.call=function(t,e,r){if(r){var l=this.callbackId++;this.callbacks[l]=r,e.push(l)}this.send(t,e)},this.emit=function(t,e){try{e.data&&e.data.err&&(e.data.err={message:e.data.err.message,stack:e.data.err.stack,code:e.data.err.code}),this.$worker&&this.$worker.postMessage({event:t,data:{data:e.data}})}catch(r){console.error(r.stack)}},this.attachToDocument=function(t){this.$doc&&this.terminate(),this.$doc=t,this.call("setValue",[t.getValue()]),t.on("change",this.changeListener,!0)},this.changeListener=function(t){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),t.action=="insert"?this.deltaQueue.push(t.start,t.lines):this.deltaQueue.push(t.start,t.end)},this.$sendDeltaQueue=function(){var t=this.deltaQueue;t&&(this.deltaQueue=null,t.length>50&&t.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:t}))}}).call(i.prototype);var n=function(t,e,r){var l=null,c=!1,u=Object.create(d),f=[],p=new i({messageBuffer:f,terminate:function(){},postMessage:function(k){f.push(k),l&&(c?setTimeout(b):b())}});p.setEmitSync=function(k){c=k};var b=function(){var k=f.shift();k.command?l[k.command].apply(l,k.args):k.event&&u._signal(k.event,k.data)};return u.postMessage=function(k){p.onMessage({data:k})},u.callback=function(k,v){this.postMessage({type:"call",id:v,data:k})},u.emit=function(k,v){this.postMessage({type:"event",name:k,data:v})},s.loadModule(["worker",e],function(k){for(l=new k[r](u);f.length;)b()}),p};y.UIWorkerClient=n,y.WorkerClient=i,y.createWorker=o});ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(g,y,R){"use strict";var $=g("./range").Range,w=g("./lib/event_emitter").EventEmitter,d=g("./lib/oop"),s=function(){function a(o,i,n,t,e,r){var l=this;this.length=i,this.session=o,this.doc=o.getDocument(),this.mainClass=e,this.othersClass=r,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=t,this.$onCursorChange=function(){setTimeout(function(){l.onCursorChange()})},this.$pos=n;var c=o.getUndoManager().$undoStack||o.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=c.length,this.setup(),o.selection.on("changeCursor",this.$onCursorChange)}return a.prototype.setup=function(){var o=this,i=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=i.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=n.addMarker(new $(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var r=i.createAnchor(e.row,e.column);r.$insertRight=!0,r.detach(),o.others.push(r)}),n.setUndoSelect(!1)},a.prototype.showOtherMarkers=function(){if(!this.othersActive){var o=this.session,i=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=o.addMarker(new $(n.row,n.column,n.row,n.column+i.length),i.othersClass,null,!1)})}},a.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var o=0;o<this.others.length;o++)this.session.removeMarker(this.others[o].markerId)}},a.prototype.onUpdate=function(o){if(this.$updating)return this.updateAnchors(o);var i=o;if(i.start.row===i.end.row&&i.start.row===this.pos.row){this.$updating=!0;var n=o.action==="insert"?i.end.column-i.start.column:i.start.column-i.end.column,t=i.start.column>=this.pos.column&&i.start.column<=this.pos.column+this.length+1,e=i.start.column-this.pos.column;if(this.updateAnchors(o),t&&(this.length+=n),t&&!this.session.$fromUndo){if(o.action==="insert")for(var r=this.others.length-1;r>=0;r--){var l=this.others[r],c={row:l.row,column:l.column+e};this.doc.insertMergedLines(c,o.lines)}else if(o.action==="remove")for(var r=this.others.length-1;r>=0;r--){var l=this.others[r],c={row:l.row,column:l.column+e};this.doc.remove(new $(c.row,c.column,c.row,c.column-n))}}this.$updating=!1,this.updateMarkers()}},a.prototype.updateAnchors=function(o){this.pos.onChange(o);for(var i=this.others.length;i--;)this.others[i].onChange(o);this.updateMarkers()},a.prototype.updateMarkers=function(){if(!this.$updating){var o=this,i=this.session,n=function(e,r){i.removeMarker(e.markerId),e.markerId=i.addMarker(new $(e.row,e.column,e.row,e.column+o.length),r,null,!1)};n(this.pos,this.mainClass);for(var t=this.others.length;t--;)n(this.others[t],this.othersClass)}},a.prototype.onCursorChange=function(o){if(!(this.$updating||!this.session)){var i=this.session.selection.getCursor();i.row===this.pos.row&&i.column>=this.pos.column&&i.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",o)):(this.hideOtherMarkers(),this._emit("cursorLeave",o))}},a.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},a.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var o=this.session.getUndoManager(),i=(o.$undoStack||o.$undostack).length-this.$undoStackDepth,n=0;n<i;n++)o.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},a}();d.implement(s.prototype,w),y.PlaceHolder=s});ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(g,y,R){var $=g("../lib/event"),w=g("../lib/useragent");function d(a,o){return a.row==o.row&&a.column==o.column}function s(a){var o=a.domEvent,i=o.altKey,n=o.shiftKey,t=o.ctrlKey,e=a.getAccelKey(),r=a.getButton();if(t&&w.isMac&&(r=o.button),a.editor.inMultiSelectMode&&r==2){a.editor.textInput.onContextMenu(a.domEvent);return}if(!t&&!i&&!e){r===0&&a.editor.inMultiSelectMode&&a.editor.exitMultiSelectMode();return}if(r===0){var l=a.editor,c=l.selection,u=l.inMultiSelectMode,f=a.getDocumentPosition(),p=c.getCursor(),b=a.inSelection()||c.isEmpty()&&d(f,p),k=a.x,v=a.y,A=function(O){k=O.clientX,v=O.clientY},M=l.session,E=l.renderer.pixelToScreenCoordinates(k,v),_=E,C;if(l.$mouseHandler.$enableJumpToDef)t&&i||e&&i?C=n?"block":"add":i&&l.$blockSelectEnabled&&(C="block");else if(e&&!i){if(C="add",!u&&n)return}else i&&l.$blockSelectEnabled&&(C="block");if(C&&w.isMac&&o.ctrlKey&&l.$mouseHandler.cancelContextMenu(),C=="add"){if(!u&&b)return;if(!u){var x=c.toOrientedRange();l.addSelectionMarker(x)}var m=c.rangeList.rangeAtPoint(f);l.inVirtualSelectionMode=!0,n&&(m=null,x=c.ranges[0]||x,l.removeSelectionMarker(x)),l.once("mouseup",function(){var O=c.toOrientedRange();m&&O.isEmpty()&&d(m.cursor,O.cursor)?c.substractPoint(O.cursor):(n?c.substractPoint(x.cursor):x&&(l.removeSelectionMarker(x),c.addRange(x)),c.addRange(O)),l.inVirtualSelectionMode=!1})}else if(C=="block"){a.stop(),l.inVirtualSelectionMode=!0;var h,S=[],L=function(){var O=l.renderer.pixelToScreenCoordinates(k,v),N=M.screenToDocumentPosition(O.row,O.column,O.offsetX);d(_,O)&&d(N,c.lead)||(_=O,l.selection.moveToPosition(N),l.renderer.scrollCursorIntoView(),l.removeSelectionMarkers(S),S=c.rectangularRangeBlock(_,E),l.$mouseHandler.$clickSelection&&S.length==1&&S[0].isEmpty()&&(S[0]=l.$mouseHandler.$clickSelection.clone()),S.forEach(l.addSelectionMarker,l),l.updateSelectionMarkers())};u&&!e?c.toSingleRange():!u&&e&&(h=c.toOrientedRange(),l.addSelectionMarker(h)),n?E=M.documentToScreenPosition(c.lead):c.moveToPosition(f),_={row:-1,column:-1};var T=function(O){L(),clearInterval(D),l.removeSelectionMarkers(S),S.length||(S=[c.toOrientedRange()]),h&&(l.removeSelectionMarker(h),c.toSingleRange(h));for(var N=0;N<S.length;N++)c.addRange(S[N]);l.inVirtualSelectionMode=!1,l.$mouseHandler.$clickSelection=null},I=L;$.capture(l.container,A,T);var D=setInterval(function(){I()},20);return a.preventDefault()}}}y.onMouseDown=s});ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(g,y,R){y.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(w){w.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(w){w.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(w){w.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(w){w.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(w){w.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(w){w.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(w){w.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(w){w.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(w){w.multiSelect.rangeCount>1?w.multiSelect.joinSelections():w.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(w){w.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(w){w.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(w){w.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],y.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(w){w.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(w){return w&&w.inMultiSelectMode}}];var $=g("../keyboard/hash_handler").HashHandler;y.keyboardHandler=new $(y.multiSelectCommands)});ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(g,y,R){var $=g("./range_list").RangeList,w=g("./range").Range,d=g("./selection").Selection,s=g("./mouse/multi_select_handler").onMouseDown,a=g("./lib/event"),o=g("./lib/lang"),i=g("./commands/multi_select_commands");y.commands=i.defaultCommands.concat(i.multiSelectCommands);var n=g("./search").Search,t=new n;function e(p,b,k){return t.$options.wrap=!0,t.$options.needle=b,t.$options.backwards=k==-1,t.find(p)}var r=g("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(r.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(p,b){if(p){if(!this.inMultiSelectMode&&this.rangeCount===0){var k=this.toOrientedRange();if(this.rangeList.add(k),this.rangeList.add(p),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),b||this.fromOrientedRange(p);this.rangeList.removeAll(),this.rangeList.add(k),this.$onAddRange(k)}p.cursor||(p.cursor=p.end);var v=this.rangeList.add(p);return this.$onAddRange(p),v.length&&this.$onRemoveRange(v),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(p)}},this.toSingleRange=function(p){p=p||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),p&&this.fromOrientedRange(p)},this.substractPoint=function(p){var b=this.rangeList.substractPoint(p);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var p=this.rangeList.merge();p.length&&this.$onRemoveRange(p)},this.$onAddRange=function(p){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(p),this._signal("addRange",{range:p})},this.$onRemoveRange=function(p){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();p.push(b),this.rangeCount=0}for(var k=p.length;k--;){var v=this.ranges.indexOf(p[k]);this.ranges.splice(v,1)}this._signal("removeRange",{ranges:p}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges[0],b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new $,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var p=this.ranges.length?this.ranges:[this.getRange()],b=[],k=0;k<p.length;k++){var v=p[k],A=v.start.row,M=v.end.row;if(A===M)b.push(v.clone());else{for(b.push(new w(A,v.start.column,A,this.session.getLine(A).length));++A<M;)b.push(this.getLineRange(A,!0));b.push(new w(M,0,M,v.end.column))}k==0&&!this.isBackwards()&&(b=b.reverse())}this.toSingleRange();for(var k=b.length;k--;)this.addRange(b[k])},this.joinSelections=function(){var p=this.rangeList.ranges,b=p[p.length-1],k=w.fromPoints(p[0].start,b.end);this.toSingleRange(),this.setSelectionRange(k,b.cursor==b.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var p=this.rangeList.ranges,b=p[p.length-1],k=w.fromPoints(p[0].start,b.end);this.toSingleRange(),this.setSelectionRange(k,b.cursor==b.start)}else{var v=this.session.documentToScreenPosition(this.cursor),A=this.session.documentToScreenPosition(this.anchor),M=this.rectangularRangeBlock(v,A);M.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(p,b,k){var v=[],A=p.column<b.column;if(A)var M=p.column,E=b.column,_=p.offsetX,C=b.offsetX;else var M=b.column,E=p.column,_=b.offsetX,C=p.offsetX;var x=p.row<b.row;if(x)var m=p.row,h=b.row;else var m=b.row,h=p.row;M<0&&(M=0),m<0&&(m=0),m==h&&(k=!0);for(var S,L=m;L<=h;L++){var T=w.fromPoints(this.session.screenToDocumentPosition(L,M,_),this.session.screenToDocumentPosition(L,E,C));if(T.isEmpty()){if(S&&c(T.end,S))break;S=T.end}T.cursor=A?T.start:T.end,v.push(T)}if(x&&v.reverse(),!k){for(var I=v.length-1;v[I].isEmpty()&&I>0;)I--;if(I>0)for(var D=0;v[D].isEmpty();)D++;for(var O=I;O>=D;O--)v[O].isEmpty()&&v.splice(O,1)}return v}}.call(d.prototype);var l=g("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(p){p.cursor||(p.cursor=p.end);var b=this.getSelectionStyle();return p.marker=this.session.addMarker(p,"ace_selection",b),this.session.$selectionMarkers.push(p),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,p},this.removeSelectionMarker=function(p){if(p.marker){this.session.removeMarker(p.marker);var b=this.session.$selectionMarkers.indexOf(p);b!=-1&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(p){for(var b=this.session.$selectionMarkers,k=p.length;k--;){var v=p[k];if(v.marker){this.session.removeMarker(v.marker);var A=b.indexOf(v);A!=-1&&b.splice(A,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(p){this.addSelectionMarker(p.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(p){this.removeSelectionMarkers(p.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(p){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(i.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(p){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(i.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(p){var b=p.command,k=p.editor;if(k.multiSelect){if(b.multiSelectAction)b.multiSelectAction=="forEach"?v=k.forEachSelection(b,p.args):b.multiSelectAction=="forEachLine"?v=k.forEachSelection(b,p.args,!0):b.multiSelectAction=="single"?(k.exitMultiSelectMode(),v=b.exec(k,p.args||{})):v=b.multiSelectAction(k,p.args||{});else{var v=b.exec(k,p.args||{});k.multiSelect.addRange(k.multiSelect.toOrientedRange()),k.multiSelect.mergeOverlappingRanges()}return v}},this.forEachSelection=function(p,b,k){if(!this.inVirtualSelectionMode){var v=k&&k.keepOrder,A=k==!0||k&&k.$byLines,M=this.session,E=this.selection,_=E.rangeList,C=(v?E:_).ranges,x;if(!C.length)return p.exec?p.exec(this,b||{}):p(this,b||{});var m=E._eventRegistry;E._eventRegistry={};var h=new d(M);this.inVirtualSelectionMode=!0;for(var S=C.length;S--;){if(A)for(;S>0&&C[S].start.row==C[S-1].end.row;)S--;h.fromOrientedRange(C[S]),h.index=S,this.selection=M.selection=h;var L=p.exec?p.exec(this,b||{}):p(this,b||{});!x&&L!==void 0&&(x=L),h.toOrientedRange(C[S])}h.detach(),this.selection=M.selection=E,this.inVirtualSelectionMode=!1,E._eventRegistry=m,E.mergeOverlappingRanges(),E.ranges[0]&&E.fromOrientedRange(E.ranges[0]);var T=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),T&&T.from==T.to&&this.renderer.animateScrolling(T.from),x}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var p="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,k=[],v=0;v<b.length;v++)k.push(this.session.getTextRange(b[v]));var A=this.session.getDocument().getNewLineCharacter();p=k.join(A),p.length==(k.length-1)*A.length&&(p="")}else this.selection.isEmpty()||(p=this.session.getTextRange(this.getSelectionRange()));return p},this.$checkMultiselectChange=function(p,b){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var k=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&b==this.multiSelect.anchor)return;var v=b==this.multiSelect.anchor?k.cursor==k.start?k.end:k.start:k.cursor;v.row!=b.row||this.session.$clipPositionToDocument(v.row,v.column).column!=b.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(p,b,k){if(b=b||{},b.needle=p||b.needle,b.needle==null){var v=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();b.needle=this.session.getTextRange(v)}this.$search.set(b);var A=this.$search.findAll(this.session);if(!A.length)return 0;var M=this.multiSelect;k||M.toSingleRange(A[0]);for(var E=A.length;E--;)M.addRange(A[E],!0);return v&&M.rangeList.rangeAtPoint(v.start)&&M.addRange(v,!0),A.length},this.selectMoreLines=function(p,b){var k=this.selection.toOrientedRange(),v=k.cursor==k.end,A=this.session.documentToScreenPosition(k.cursor);this.selection.$desiredColumn&&(A.column=this.selection.$desiredColumn);var M=this.session.screenToDocumentPosition(A.row+p,A.column);if(k.isEmpty())var _=M;else var E=this.session.documentToScreenPosition(v?k.end:k.start),_=this.session.screenToDocumentPosition(E.row+p,E.column);if(v){var C=w.fromPoints(M,_);C.cursor=C.start}else{var C=w.fromPoints(_,M);C.cursor=C.end}if(C.desiredColumn=A.column,!this.selection.inMultiSelectMode)this.selection.addRange(k);else if(b)var x=k.cursor;this.selection.addRange(C),x&&this.selection.substractPoint(x)},this.transposeSelections=function(p){for(var b=this.session,k=b.multiSelect,v=k.ranges,A=v.length;A--;){var M=v[A];if(M.isEmpty()){var E=b.getWordRange(M.start.row,M.start.column);M.start.row=E.start.row,M.start.column=E.start.column,M.end.row=E.end.row,M.end.column=E.end.column}}k.mergeOverlappingRanges();for(var _=[],A=v.length;A--;){var M=v[A];_.unshift(b.getTextRange(M))}p<0?_.unshift(_.pop()):_.push(_.shift());for(var A=v.length;A--;){var M=v[A],C=M.clone();b.replace(M,_[A]),M.start.row=C.start.row,M.start.column=C.start.column}k.fromOrientedRange(k.ranges[0])},this.selectMore=function(p,b,k){var v=this.session,A=v.multiSelect,M=A.toOrientedRange();if(!(M.isEmpty()&&(M=v.getWordRange(M.start.row,M.start.column),M.cursor=p==-1?M.start:M.end,this.multiSelect.addRange(M),k))){var E=v.getTextRange(M),_=e(v,E,p);_&&(_.cursor=p==-1?_.start:_.end,this.session.unfold(_),this.multiSelect.addRange(_),this.renderer.scrollCursorIntoView(null,.5)),b&&this.multiSelect.substractPoint(M.cursor)}},this.alignCursors=function(){var p=this.session,b=p.multiSelect,k=b.ranges,v=-1,A=k.filter(function(I){if(I.cursor.row==v)return!0;v=I.cursor.row});if(!k.length||A.length==k.length-1){var M=this.selection.getRange(),E=M.start.row,_=M.end.row,C=E==_;if(C){var x=this.session.getLength(),m;do m=this.session.getLine(_);while(/[=:]/.test(m)&&++_<x);do m=this.session.getLine(E);while(/[=:]/.test(m)&&--E>0);E<0&&(E=0),_>=x&&(_=x-1)}var h=this.session.removeFullLines(E,_);h=this.$reAlignText(h,C),this.session.insert({row:E,column:0},h.join(`
|
|
945
|
+
`)+`
|
|
946
|
+
`),C||(M.start.column=0,M.end.column=h[h.length-1].length),this.selection.setRange(M)}else{A.forEach(function(I){b.substractPoint(I.cursor)});var S=0,L=1/0,T=k.map(function(I){var D=I.cursor,O=p.getLine(D.row),N=O.substr(D.column).search(/\S/g);return N==-1&&(N=0),D.column>S&&(S=D.column),N<L&&(L=N),N});k.forEach(function(I,D){var O=I.cursor,N=S-O.column,F=T[D]-L;N>F?p.insert(O,o.stringRepeat(" ",N-F)):p.remove(new w(O.row,O.column,O.row,O.column-N+F)),I.start.column=I.end.column=S,I.start.row=I.end.row=O.row,I.cursor=I.end}),b.fromOrientedRange(k[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(p,b){var k=!0,v=!0,A,M,E;return p.map(function(h){var S=h.match(/(\s*)(.*?)(\s*)([=:].*)/);return S?A==null?(A=S[1].length,M=S[2].length,E=S[3].length,S):(A+M+E!=S[1].length+S[2].length+S[3].length&&(v=!1),A!=S[1].length&&(k=!1),A>S[1].length&&(A=S[1].length),M<S[2].length&&(M=S[2].length),E>S[3].length&&(E=S[3].length),S):[h]}).map(b?C:k?v?x:C:m);function _(h){return o.stringRepeat(" ",h)}function C(h){return h[2]?_(A)+h[2]+_(M-h[2].length+E)+h[4].replace(/^([=:])\s+/,"$1 "):h[0]}function x(h){return h[2]?_(A+M-h[2].length)+h[2]+_(E)+h[4].replace(/^([=:])\s+/,"$1 "):h[0]}function m(h){return h[2]?_(A)+h[2]+_(E)+h[4].replace(/^([=:])\s+/,"$1 "):h[0]}}}).call(l.prototype);function c(p,b){return p.row==b.row&&p.column==b.column}y.onSessionChange=function(p){var b=p.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var k=p.oldSession;k&&(k.multiSelect.off("addRange",this.$onAddRange),k.multiSelect.off("removeRange",this.$onRemoveRange),k.multiSelect.off("multiSelect",this.$onMultiSelect),k.multiSelect.off("singleSelect",this.$onSingleSelect),k.multiSelect.lead.off("change",this.$checkMultiselectChange),k.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function u(p){p.$multiselectOnSessionChange||(p.$onAddRange=p.$onAddRange.bind(p),p.$onRemoveRange=p.$onRemoveRange.bind(p),p.$onMultiSelect=p.$onMultiSelect.bind(p),p.$onSingleSelect=p.$onSingleSelect.bind(p),p.$multiselectOnSessionChange=y.onSessionChange.bind(p),p.$checkMultiselectChange=p.$checkMultiselectChange.bind(p),p.$multiselectOnSessionChange(p),p.on("changeSession",p.$multiselectOnSessionChange),p.on("mousedown",s),p.commands.addCommands(i.defaultCommands),f(p))}function f(p){if(!p.textInput)return;var b=p.textInput.getElement(),k=!1;a.addListener(b,"keydown",function(A){var M=A.keyCode==18&&!(A.ctrlKey||A.shiftKey||A.metaKey);p.$blockSelectEnabled&&M?k||(p.renderer.setMouseCursor("crosshair"),k=!0):k&&v()},p),a.addListener(b,"keyup",v,p),a.addListener(b,"blur",v,p);function v(A){k&&(p.renderer.setMouseCursor(""),k=!1)}}y.MultiSelect=u,g("./config").defineOptions(l.prototype,"editor",{enableMultiselect:{set:function(p){u(this),p?this.on("mousedown",s):this.off("mousedown",s)},value:!0},enableBlockSelect:{set:function(p){this.$blockSelectEnabled=p},value:!0}})});ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=g("../../range").Range,w=y.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(d,s,a){var o=d.getLine(a);return this.foldingStartMarker.test(o)?"start":s=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(o)?"end":""},this.getFoldWidgetRange=function(d,s,a){return null},this.indentationBlock=function(d,s,a){var o=/\S/,i=d.getLine(s),n=i.search(o);if(n!=-1){for(var t=a||i.length,e=d.getLength(),r=s,l=s;++s<e;){var c=d.getLine(s).search(o);if(c!=-1){if(c<=n){var u=d.getTokenAt(s,0);if(!u||u.type!=="string")break}l=s}}if(l>r){var f=d.getLine(l).length;return new $(r,t,l,f)}}},this.openingBracketBlock=function(d,s,a,o,i){var n={row:a,column:o+1},t=d.$findClosingBracket(s,n,i);if(t){var e=d.foldWidgets[t.row];return e==null&&(e=d.getFoldWidget(t.row)),e=="start"&&t.row>n.row&&(t.row--,t.column=d.getLine(t.row).length),$.fromPoints(n,t)}},this.closingBracketBlock=function(d,s,a,o,i){var n={row:a,column:o},t=d.$findOpeningBracket(s,n);if(t)return t.column++,n.column--,$.fromPoints(t,n)}}).call(w.prototype)});ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(g,y,R){"use strict";var $=g("../lib/dom"),w=g("../range").Range,d=g("../config").nls;function s(o,i,n){for(var t=0,e=o.length-1;t<=e;){var r=t+e>>1,l=n(i,o[r]);if(l>0)t=r+1;else if(l<0)e=r-1;else return r}return-(t+1)}function a(o,i,n){var t=o.getAnnotations().sort(w.comparePoints);if(t.length){var e=s(t,{row:i,column:-1},w.comparePoints);e<0&&(e=-e-1),e>=t.length?e=n>0?0:t.length-1:e===0&&n<0&&(e=t.length-1);var r=t[e];if(!(!r||!n)){if(r.row===i){do r=t[e+=n];while(r&&r.row===i);if(!r)return t.slice()}var l=[];i=r.row;do l[n<0?"unshift":"push"](r),r=t[e+=n];while(r&&r.row==i);return l.length&&l}}}y.showErrorMarker=function(o,i){var n=o.session,t=o.getCursorPosition(),e=t.row,r=n.widgetManager.getWidgetsAtRow(e).filter(function(A){return A.type=="errorMarker"})[0];r?r.destroy():e-=i;var l=a(n,e,i),c;if(l){var u=l[0];t.column=(u.pos&&typeof u.column!="number"?u.pos.sc:u.column)||0,t.row=u.row,c=o.renderer.$gutterLayer.$annotations[t.row]}else{if(r)return;c={displayText:[d("error-marker.good-state","Looks good!")],className:"ace_ok"}}o.session.unfold(t.row),o.selection.moveToPosition(t);var f={row:t.row,fixedWidth:!0,coverGutter:!0,el:$.createElement("div"),type:"errorMarker"},p=f.el.appendChild($.createElement("div")),b=f.el.appendChild($.createElement("div"));b.className="error_widget_arrow "+c.className;var k=o.renderer.$cursorLayer.getPixelPosition(t).left;b.style.left=k+o.renderer.gutterWidth-5+"px",f.el.className="error_widget_wrapper",p.className="error_widget "+c.className,c.displayText.forEach(function(A,M){p.appendChild($.createTextNode(A)),M<c.displayText.length-1&&p.appendChild($.createElement("br"))}),p.appendChild($.createElement("div"));var v=function(A,M,E){if(M===0&&(E==="esc"||E==="return"))return f.destroy(),{command:"null"}};f.destroy=function(){o.$mouseHandler.isMousePressed||(o.keyBinding.removeKeyboardHandler(v),n.widgetManager.removeLineWidget(f),o.off("changeSelection",f.destroy),o.off("changeSession",f.destroy),o.off("mouseup",f.destroy),o.off("change",f.destroy))},o.keyBinding.addKeyboardHandler(v),o.on("changeSelection",f.destroy),o.on("changeSession",f.destroy),o.on("mouseup",f.destroy),o.on("change",f.destroy),o.session.widgetManager.addLineWidget(f),f.el.onmousedown=o.focus.bind(o),o.renderer.scrollCursorIntoView(null,.5,{bottom:f.el.offsetHeight})},$.importCssString(`
|
|
947
|
+
.error_widget_wrapper {
|
|
948
|
+
background: inherit;
|
|
949
|
+
color: inherit;
|
|
950
|
+
border:none
|
|
951
|
+
}
|
|
952
|
+
.error_widget {
|
|
953
|
+
border-top: solid 2px;
|
|
954
|
+
border-bottom: solid 2px;
|
|
955
|
+
margin: 5px 0;
|
|
956
|
+
padding: 10px 40px;
|
|
957
|
+
white-space: pre-wrap;
|
|
958
|
+
}
|
|
959
|
+
.error_widget.ace_error, .error_widget_arrow.ace_error{
|
|
960
|
+
border-color: #ff5a5a
|
|
961
|
+
}
|
|
962
|
+
.error_widget.ace_warning, .error_widget_arrow.ace_warning{
|
|
963
|
+
border-color: #F1D817
|
|
964
|
+
}
|
|
965
|
+
.error_widget.ace_info, .error_widget_arrow.ace_info{
|
|
966
|
+
border-color: #5a5a5a
|
|
967
|
+
}
|
|
968
|
+
.error_widget.ace_ok, .error_widget_arrow.ace_ok{
|
|
969
|
+
border-color: #5aaa5a
|
|
970
|
+
}
|
|
971
|
+
.error_widget_arrow {
|
|
972
|
+
position: absolute;
|
|
973
|
+
border: solid 5px;
|
|
974
|
+
border-top-color: transparent!important;
|
|
975
|
+
border-right-color: transparent!important;
|
|
976
|
+
border-left-color: transparent!important;
|
|
977
|
+
top: -5px;
|
|
978
|
+
}
|
|
979
|
+
`,"error_marker.css",!1)});ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(g,y,R){"use strict";g("./loader_build")(y);var $=g("./lib/dom"),w=g("./range").Range,d=g("./editor").Editor,s=g("./edit_session").EditSession,a=g("./undomanager").UndoManager,o=g("./virtual_renderer").VirtualRenderer;g("./worker/worker_client"),g("./keyboard/hash_handler"),g("./placeholder"),g("./multi_select"),g("./mode/folding/fold_mode"),g("./theme/textmate"),g("./ext/error_marker"),y.config=g("./config"),y.edit=function(n,t){if(typeof n=="string"){var e=n;if(n=document.getElementById(e),!n)throw new Error("ace.edit can't find div #"+e)}if(n&&n.env&&n.env.editor instanceof d)return n.env.editor;var r="";if(n&&/input|textarea/i.test(n.tagName)){var l=n;r=l.value,n=$.createElement("pre"),l.parentNode.replaceChild(n,l)}else n&&(r=n.textContent,n.innerHTML="");var c=y.createEditSession(r),u=new d(new o(n),c,t),f={document:c,editor:u,onResize:u.resize.bind(u,null)};return l&&(f.textarea=l),u.on("destroy",function(){f.editor.container.env=null}),u.container.env=u.env=f,u},y.createEditSession=function(n,t){var e=new s(n,t);return e.setUndoManager(new a),e},y.Range=w,y.Editor=d,y.EditSession=s,y.UndoManager=a,y.VirtualRenderer=o;var i=y.config.version;y.version=i});(function(){ace.require(["ace/ace"],function(g){g&&(g.config.init(!0),g.define=ace.define);var y=function(){return this}();!y&&typeof window<"u"&&(y=window),!y&&typeof self<"u"&&(y=self),y.ace||(y.ace=g);for(var R in g)g.hasOwnProperty(R)&&(y.ace[R]=g[R]);y.ace.default=y.ace,typeof fe=="object"&&typeof ze=="object"&&fe&&(fe.exports=y.ace)})})()});var Ue=re((je,ge)=>{ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text_highlight_rules").TextHighlightRules,d=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},d.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};$.inherits(d,w),d.getTagRule=function(s){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},d.getStartRule=function(s){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:s}},d.getEndRule=function(s){return{token:"comment.doc",regex:"\\*\\/",next:s}},y.JsDocCommentHighlightRules=d});ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,d=g("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_\xA1-\uFFFF][a-zA-Z\\d\\$_\xA1-\uFFFF]*",a=function(n){var t={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},e=this.createKeywordMapper(t,"identifier"),r="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",l="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",c="(function)(\\s*)(\\*?)",u={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(t).join("|")+"\\b)"+s+")(\\s*)(\\()"};this.$rules={no_regex:[w.getStartRule("doc-start"),i("no_regex"),u,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+r+")\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:e,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:c+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[w.getStartRule("doc-start"),i("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[i("function_arguments"),{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:l},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:l},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!n||!n.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(f,p,b){if(this.next=f=="{"?this.nextState:"",f=="{"&&b.length)b.unshift("start",p);else if(f=="}"&&b.length&&(b.shift(),this.next=b.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return f=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:l},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+s+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!n||n.jsx!=!1)&&o.call(this)),this.embedRules(w,"doc-",[w.getEndRule("no_regex")]),this.normalizeRules()};$.inherits(a,d);function o(){var n=s.replace("\\d","\\d\\-"),t={onMatch:function(r,l,c){var u=r.charAt(1)=="/"?2:1;return u==1?(l!=this.nextState?c.unshift(this.next,this.nextState,0):c.unshift(this.next),c[2]++):u==2&&l==this.nextState&&(c[1]--,(!c[1]||c[1]<0)&&(c.shift(),c.shift())),[{type:"meta.tag.punctuation."+(u==1?"":"end-")+"tag-open.xml",value:r.slice(0,u)},{type:"meta.tag.tag-name.xml",value:r.substr(u)}]},regex:"</?(?:"+n+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var e={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[e,t,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(r,l,c){return l==c[0]&&c.shift(),r.length==2&&(c[0]==this.nextState&&c[1]--,(!c[1]||c[1]<0)&&c.splice(0,2)),this.next=c[0]||"start",[{type:this.token,value:r}]},nextState:"jsx"},e,i("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:n},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function i(n){return[{token:"comment",regex:/\/\*/,next:[w.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[w.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}y.JavaScriptHighlightRules=a});ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=g("../range").Range,w=function(){};(function(){this.checkOutdent=function(d,s){return/^\s+$/.test(d)?/^\s*\}/.test(s):!1},this.autoOutdent=function(d,s){var a=d.getLine(s),o=a.match(/^(\s*\})/);if(!o)return 0;var i=o[1].length,n=d.findMatchingBracket({row:s,column:i});if(!n||n.row==s)return 0;var t=this.$getIndent(d.getLine(n.row));d.replace(new $(s,0,s,i-1),t)},this.$getIndent=function(d){return d.match(/^\s*/)[0]}}).call(w.prototype),y.MatchingBraceOutdent=w});ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../behaviour").Behaviour,d=g("../../token_iterator").TokenIterator;function s(o,i){return o&&o.type.lastIndexOf(i+".xml")>-1}var a=function(){this.add("string_dquotes","insertion",function(o,i,n,t,e){if(e=='"'||e=="'"){var r=e,l=t.doc.getTextRange(n.getSelectionRange());if(l!==""&&l!=="'"&&l!='"'&&n.getWrapBehavioursEnabled())return{text:r+l+r,selection:!1};var c=n.getCursorPosition(),u=t.doc.getLine(c.row),f=u.substring(c.column,c.column+1),p=new d(t,c.row,c.column),b=p.getCurrentToken();if(f==r&&(s(b,"attribute-value")||s(b,"string")))return{text:"",selection:[1,1]};if(b||(b=p.stepBackward()),!b)return;for(;s(b,"tag-whitespace")||s(b,"whitespace");)b=p.stepBackward();var k=!f||f.match(/\s/);if(s(b,"attribute-equals")&&(k||f==">")||s(b,"decl-attribute-equals")&&(k||f=="?"))return{text:r+r,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(o,i,n,t,e){var r=t.doc.getTextRange(e);if(!e.isMultiLine()&&(r=='"'||r=="'")){var l=t.doc.getLine(e.start.row),c=l.substring(e.start.column+1,e.start.column+2);if(c==r)return e.end.column++,e}}),this.add("autoclosing","insertion",function(o,i,n,t,e){if(e==">"){var r=n.getSelectionRange().start,l=new d(t,r.row,r.column),c=l.getCurrentToken()||l.stepBackward();if(!c||!(s(c,"tag-name")||s(c,"tag-whitespace")||s(c,"attribute-name")||s(c,"attribute-equals")||s(c,"attribute-value"))||s(c,"reference.attribute-value"))return;if(s(c,"attribute-value")){var u=l.getCurrentTokenColumn()+c.value.length;if(r.column<u)return;if(r.column==u){var f=l.stepForward();if(f&&s(f,"attribute-value"))return;l.stepBackward()}}if(/^\s*>/.test(t.getLine(r.row).slice(r.column)))return;for(;!s(c,"tag-name");)if(c=l.stepBackward(),c.value=="<"){c=l.stepForward();break}var p=l.getCurrentTokenRow(),b=l.getCurrentTokenColumn();if(s(l.stepBackward(),"end-tag-open"))return;var k=c.value;return p==r.row&&(k=k.substring(0,r.column-b)),this.voidElements&&this.voidElements.hasOwnProperty(k.toLowerCase())?void 0:{text:"></"+k+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(o,i,n,t,e){if(e==`
|
|
980
|
+
`){var r=n.getCursorPosition(),l=t.getLine(r.row),c=new d(t,r.row,r.column),u=c.getCurrentToken();if(s(u,"")&&u.type.indexOf("tag-close")!==-1){if(u.value=="/>")return;for(;u&&u.type.indexOf("tag-name")===-1;)u=c.stepBackward();if(!u)return;var f=u.value,p=c.getCurrentTokenRow();if(u=c.stepBackward(),!u||u.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[f]||!this.voidElements){var b=t.getTokenAt(r.row,r.column+1),l=t.getLine(p),k=this.$getIndent(l),v=k+t.getTabString();return b&&b.value==="</"?{text:`
|
|
981
|
+
`+v+`
|
|
982
|
+
`+k,selection:[1,v.length,1,v.length]}:{text:`
|
|
983
|
+
`+v}}}}})};$.inherits(a,w),y.XmlBehaviour=a});ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../../token_iterator").TokenIterator,d=g("../behaviour/cstyle").CstyleBehaviour,s=g("../behaviour/xml").XmlBehaviour,a=function(){var o=new s({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(o),this.inherit(d),this.add("autoclosing-fragment","insertion",function(i,n,t,e,r){if(r==">"){var l=t.getSelectionRange().start,c=new w(e,l.row,l.column),u=c.getCurrentToken()||c.stepBackward();if(!u)return;if(u.value=="<")return{text:"></>",selection:[1,1]}}})};$.inherits(a,d),y.JavaScriptBehaviour=a});ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../../range").Range,d=g("./fold_mode").FoldMode,s=y.FoldMode=function(i,n){d.call(this),this.voidElements=i||{},this.optionalEndTags=$.mixin({},this.voidElements),n&&$.mixin(this.optionalEndTags,n)};$.inherits(s,d);var a=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};function o(i,n){return i&&i.type&&i.type.lastIndexOf(n+".xml")>-1}(function(){this.getFoldWidget=function(i,n,t){var e=this._getFirstTagInLine(i,t);return e?e.closing||!e.tagName&&e.selfClosing?n==="markbeginend"?"end":"":!e.tagName||e.selfClosing||this.voidElements.hasOwnProperty(e.tagName.toLowerCase())||this._findEndTagInLine(i,t,e.tagName,e.end.column)?"":"start":this.getCommentFoldWidget(i,t)},this.getCommentFoldWidget=function(i,n){return/comment/.test(i.getState(n))&&/<!-/.test(i.getLine(n))?"start":""},this._getFirstTagInLine=function(i,n){for(var t=i.getTokens(n),e=new a,r=0;r<t.length;r++){var l=t[r];if(o(l,"tag-open")){if(e.end.column=e.start.column+l.value.length,e.closing=o(l,"end-tag-open"),l=t[++r],!l)return null;if(e.tagName=l.value,l.value===""){if(l=t[++r],!l)return null;e.tagName=l.value}for(e.end.column+=l.value.length,r++;r<t.length;r++)if(l=t[r],e.end.column+=l.value.length,o(l,"tag-close")){e.selfClosing=l.value=="/>";break}return e}else if(o(l,"tag-close"))return e.selfClosing=l.value=="/>",e;e.start.column+=l.value.length}return null},this._findEndTagInLine=function(i,n,t,e){for(var r=i.getTokens(n),l=0,c=0;c<r.length;c++){var u=r[c];if(l+=u.value.length,!(l<e-1)&&o(u,"end-tag-open")&&(u=r[c+1],o(u,"tag-name")&&u.value===""&&(u=r[c+2]),u&&u.value==t))return!0}return!1},this.getFoldWidgetRange=function(i,n,t){var e=this._getFirstTagInLine(i,t);if(!e)return this.getCommentFoldWidget(i,t)&&i.getCommentFoldRange(t,i.getLine(t).length);var r=i.getMatchingTags({row:t,column:0});if(r)return new w(r.openTag.end.row,r.openTag.end.column,r.closeTag.start.row,r.closeTag.start.column)}}).call(s.prototype)});ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../../range").Range,d=g("./fold_mode").FoldMode,s=y.FoldMode=function(a){a&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+a.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+a.end)))};$.inherits(s,d),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(a,o,i){var n=a.getLine(i);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var t=this._getFoldWidgetBase(a,o,i);return!t&&this.startRegionRe.test(n)?"start":t},this.getFoldWidgetRange=function(a,o,i,n){var t=a.getLine(i);if(this.startRegionRe.test(t))return this.getCommentRegionBlock(a,t,i);var l=t.match(this.foldingStartMarker);if(l){var e=l.index;if(l[1])return this.openingBracketBlock(a,l[1],i,e);var r=a.getCommentFoldRange(i,e+l[0].length,1);return r&&!r.isMultiLine()&&(n?r=this.getSectionRange(a,i):o!="all"&&(r=null)),r}if(o!=="markbegin"){var l=t.match(this.foldingStopMarker);if(l){var e=l.index+l[0].length;return l[1]?this.closingBracketBlock(a,l[1],i,e):a.getCommentFoldRange(i,e,-1)}}},this.getSectionRange=function(a,o){var i=a.getLine(o),n=i.search(/\S/),t=o,e=i.length;o=o+1;for(var r=o,l=a.getLength();++o<l;){i=a.getLine(o);var c=i.search(/\S/);if(c!==-1){if(n>c)break;var u=this.getFoldWidgetRange(a,"all",o);if(u){if(u.start.row<=t)break;if(u.isMultiLine())o=u.end.row;else if(n==c)break}r=o}}return new w(t,e,r,a.getLine(r).length)},this.getCommentRegionBlock=function(a,o,i){for(var n=o.search(/\s*$/),t=a.getLength(),e=i,r=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++i<t;){o=a.getLine(i);var c=r.exec(o);if(c&&(c[1]?l--:l++,!l))break}var u=i;if(u>e)return new w(e,n,u,o.length)}}.call(s.prototype)});ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("./xml").FoldMode,d=g("./cstyle").FoldMode,s=y.FoldMode=function(a){a&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+a.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+a.end))),this.xmlFoldMode=new w};$.inherits(s,d),function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(a,o,i){var n=this.getFoldWidgetBase(a,o,i);return n||this.xmlFoldMode.getFoldWidget(a,o,i)},this.getFoldWidgetRange=function(a,o,i,n){var t=this.getFoldWidgetRangeBase(a,o,i,n);return t||this.xmlFoldMode.getFoldWidgetRange(a,o,i)}}.call(s.prototype)});ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text").Mode,d=g("./javascript_highlight_rules").JavaScriptHighlightRules,s=g("./matching_brace_outdent").MatchingBraceOutdent,a=g("../worker/worker_client").WorkerClient,o=g("./behaviour/javascript").JavaScriptBehaviour,i=g("./folding/javascript").FoldMode,n=function(){this.HighlightRules=d,this.$outdent=new s,this.$behaviour=new o,this.foldingRules=new i};$.inherits(n,w),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(t,e,r){var l=this.$getIndent(e),c=this.getTokenizer().getLineTokens(e,t),u=c.tokens,f=c.state;if(u.length&&u[u.length-1].type=="comment")return l;if(t=="start"||t=="no_regex"){var p=e.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);p&&(l+=r)}else if(t=="doc-start"&&(f=="start"||f=="no_regex"))return"";return l},this.checkOutdent=function(t,e,r){return this.$outdent.checkOutdent(e,r)},this.autoOutdent=function(t,e,r){this.$outdent.autoOutdent(e,r)},this.createWorker=function(t){var e=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(r){t.setAnnotations(r.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}.call(n.prototype),y.Mode=n});(function(){ace.require(["ace/mode/javascript"],function(g){typeof ge=="object"&&typeof je=="object"&&ge&&(ge.exports=g)})})()});var Ge=re((Ve,pe)=>{ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text_highlight_rules").TextHighlightRules,d=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},d.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};$.inherits(d,w),d.getTagRule=function(s){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},d.getStartRule=function(s){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:s}},d.getEndRule=function(s){return{token:"comment.doc",regex:"\\*\\/",next:s}},y.JsDocCommentHighlightRules=d});ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,d=g("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_\xA1-\uFFFF][a-zA-Z\\d\\$_\xA1-\uFFFF]*",a=function(n){var t={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},e=this.createKeywordMapper(t,"identifier"),r="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",l="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",c="(function)(\\s*)(\\*?)",u={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(t).join("|")+"\\b)"+s+")(\\s*)(\\()"};this.$rules={no_regex:[w.getStartRule("doc-start"),i("no_regex"),u,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+r+")\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:e,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:c+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[w.getStartRule("doc-start"),i("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[i("function_arguments"),{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:l},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:l},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!n||!n.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(f,p,b){if(this.next=f=="{"?this.nextState:"",f=="{"&&b.length)b.unshift("start",p);else if(f=="}"&&b.length&&(b.shift(),this.next=b.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return f=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:l},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+s+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!n||n.jsx!=!1)&&o.call(this)),this.embedRules(w,"doc-",[w.getEndRule("no_regex")]),this.normalizeRules()};$.inherits(a,d);function o(){var n=s.replace("\\d","\\d\\-"),t={onMatch:function(r,l,c){var u=r.charAt(1)=="/"?2:1;return u==1?(l!=this.nextState?c.unshift(this.next,this.nextState,0):c.unshift(this.next),c[2]++):u==2&&l==this.nextState&&(c[1]--,(!c[1]||c[1]<0)&&(c.shift(),c.shift())),[{type:"meta.tag.punctuation."+(u==1?"":"end-")+"tag-open.xml",value:r.slice(0,u)},{type:"meta.tag.tag-name.xml",value:r.substr(u)}]},regex:"</?(?:"+n+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var e={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[e,t,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(r,l,c){return l==c[0]&&c.shift(),r.length==2&&(c[0]==this.nextState&&c[1]--,(!c[1]||c[1]<0)&&c.splice(0,2)),this.next=c[0]||"start",[{type:this.token,value:r}]},nextState:"jsx"},e,i("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:n},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function i(n){return[{token:"comment",regex:/\/\*/,next:[w.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[w.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}y.JavaScriptHighlightRules=a});ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=g("../range").Range,w=function(){};(function(){this.checkOutdent=function(d,s){return/^\s+$/.test(d)?/^\s*\}/.test(s):!1},this.autoOutdent=function(d,s){var a=d.getLine(s),o=a.match(/^(\s*\})/);if(!o)return 0;var i=o[1].length,n=d.findMatchingBracket({row:s,column:i});if(!n||n.row==s)return 0;var t=this.$getIndent(d.getLine(n.row));d.replace(new $(s,0,s,i-1),t)},this.$getIndent=function(d){return d.match(/^\s*/)[0]}}).call(w.prototype),y.MatchingBraceOutdent=w});ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../behaviour").Behaviour,d=g("../../token_iterator").TokenIterator;function s(o,i){return o&&o.type.lastIndexOf(i+".xml")>-1}var a=function(){this.add("string_dquotes","insertion",function(o,i,n,t,e){if(e=='"'||e=="'"){var r=e,l=t.doc.getTextRange(n.getSelectionRange());if(l!==""&&l!=="'"&&l!='"'&&n.getWrapBehavioursEnabled())return{text:r+l+r,selection:!1};var c=n.getCursorPosition(),u=t.doc.getLine(c.row),f=u.substring(c.column,c.column+1),p=new d(t,c.row,c.column),b=p.getCurrentToken();if(f==r&&(s(b,"attribute-value")||s(b,"string")))return{text:"",selection:[1,1]};if(b||(b=p.stepBackward()),!b)return;for(;s(b,"tag-whitespace")||s(b,"whitespace");)b=p.stepBackward();var k=!f||f.match(/\s/);if(s(b,"attribute-equals")&&(k||f==">")||s(b,"decl-attribute-equals")&&(k||f=="?"))return{text:r+r,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(o,i,n,t,e){var r=t.doc.getTextRange(e);if(!e.isMultiLine()&&(r=='"'||r=="'")){var l=t.doc.getLine(e.start.row),c=l.substring(e.start.column+1,e.start.column+2);if(c==r)return e.end.column++,e}}),this.add("autoclosing","insertion",function(o,i,n,t,e){if(e==">"){var r=n.getSelectionRange().start,l=new d(t,r.row,r.column),c=l.getCurrentToken()||l.stepBackward();if(!c||!(s(c,"tag-name")||s(c,"tag-whitespace")||s(c,"attribute-name")||s(c,"attribute-equals")||s(c,"attribute-value"))||s(c,"reference.attribute-value"))return;if(s(c,"attribute-value")){var u=l.getCurrentTokenColumn()+c.value.length;if(r.column<u)return;if(r.column==u){var f=l.stepForward();if(f&&s(f,"attribute-value"))return;l.stepBackward()}}if(/^\s*>/.test(t.getLine(r.row).slice(r.column)))return;for(;!s(c,"tag-name");)if(c=l.stepBackward(),c.value=="<"){c=l.stepForward();break}var p=l.getCurrentTokenRow(),b=l.getCurrentTokenColumn();if(s(l.stepBackward(),"end-tag-open"))return;var k=c.value;return p==r.row&&(k=k.substring(0,r.column-b)),this.voidElements&&this.voidElements.hasOwnProperty(k.toLowerCase())?void 0:{text:"></"+k+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(o,i,n,t,e){if(e==`
|
|
984
|
+
`){var r=n.getCursorPosition(),l=t.getLine(r.row),c=new d(t,r.row,r.column),u=c.getCurrentToken();if(s(u,"")&&u.type.indexOf("tag-close")!==-1){if(u.value=="/>")return;for(;u&&u.type.indexOf("tag-name")===-1;)u=c.stepBackward();if(!u)return;var f=u.value,p=c.getCurrentTokenRow();if(u=c.stepBackward(),!u||u.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[f]||!this.voidElements){var b=t.getTokenAt(r.row,r.column+1),l=t.getLine(p),k=this.$getIndent(l),v=k+t.getTabString();return b&&b.value==="</"?{text:`
|
|
985
|
+
`+v+`
|
|
986
|
+
`+k,selection:[1,v.length,1,v.length]}:{text:`
|
|
987
|
+
`+v}}}}})};$.inherits(a,w),y.XmlBehaviour=a});ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../../token_iterator").TokenIterator,d=g("../behaviour/cstyle").CstyleBehaviour,s=g("../behaviour/xml").XmlBehaviour,a=function(){var o=new s({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(o),this.inherit(d),this.add("autoclosing-fragment","insertion",function(i,n,t,e,r){if(r==">"){var l=t.getSelectionRange().start,c=new w(e,l.row,l.column),u=c.getCurrentToken()||c.stepBackward();if(!u)return;if(u.value=="<")return{text:"></>",selection:[1,1]}}})};$.inherits(a,d),y.JavaScriptBehaviour=a});ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../../range").Range,d=g("./fold_mode").FoldMode,s=y.FoldMode=function(i,n){d.call(this),this.voidElements=i||{},this.optionalEndTags=$.mixin({},this.voidElements),n&&$.mixin(this.optionalEndTags,n)};$.inherits(s,d);var a=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};function o(i,n){return i&&i.type&&i.type.lastIndexOf(n+".xml")>-1}(function(){this.getFoldWidget=function(i,n,t){var e=this._getFirstTagInLine(i,t);return e?e.closing||!e.tagName&&e.selfClosing?n==="markbeginend"?"end":"":!e.tagName||e.selfClosing||this.voidElements.hasOwnProperty(e.tagName.toLowerCase())||this._findEndTagInLine(i,t,e.tagName,e.end.column)?"":"start":this.getCommentFoldWidget(i,t)},this.getCommentFoldWidget=function(i,n){return/comment/.test(i.getState(n))&&/<!-/.test(i.getLine(n))?"start":""},this._getFirstTagInLine=function(i,n){for(var t=i.getTokens(n),e=new a,r=0;r<t.length;r++){var l=t[r];if(o(l,"tag-open")){if(e.end.column=e.start.column+l.value.length,e.closing=o(l,"end-tag-open"),l=t[++r],!l)return null;if(e.tagName=l.value,l.value===""){if(l=t[++r],!l)return null;e.tagName=l.value}for(e.end.column+=l.value.length,r++;r<t.length;r++)if(l=t[r],e.end.column+=l.value.length,o(l,"tag-close")){e.selfClosing=l.value=="/>";break}return e}else if(o(l,"tag-close"))return e.selfClosing=l.value=="/>",e;e.start.column+=l.value.length}return null},this._findEndTagInLine=function(i,n,t,e){for(var r=i.getTokens(n),l=0,c=0;c<r.length;c++){var u=r[c];if(l+=u.value.length,!(l<e-1)&&o(u,"end-tag-open")&&(u=r[c+1],o(u,"tag-name")&&u.value===""&&(u=r[c+2]),u&&u.value==t))return!0}return!1},this.getFoldWidgetRange=function(i,n,t){var e=this._getFirstTagInLine(i,t);if(!e)return this.getCommentFoldWidget(i,t)&&i.getCommentFoldRange(t,i.getLine(t).length);var r=i.getMatchingTags({row:t,column:0});if(r)return new w(r.openTag.end.row,r.openTag.end.column,r.closeTag.start.row,r.closeTag.start.column)}}).call(s.prototype)});ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../../range").Range,d=g("./fold_mode").FoldMode,s=y.FoldMode=function(a){a&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+a.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+a.end)))};$.inherits(s,d),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(a,o,i){var n=a.getLine(i);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var t=this._getFoldWidgetBase(a,o,i);return!t&&this.startRegionRe.test(n)?"start":t},this.getFoldWidgetRange=function(a,o,i,n){var t=a.getLine(i);if(this.startRegionRe.test(t))return this.getCommentRegionBlock(a,t,i);var l=t.match(this.foldingStartMarker);if(l){var e=l.index;if(l[1])return this.openingBracketBlock(a,l[1],i,e);var r=a.getCommentFoldRange(i,e+l[0].length,1);return r&&!r.isMultiLine()&&(n?r=this.getSectionRange(a,i):o!="all"&&(r=null)),r}if(o!=="markbegin"){var l=t.match(this.foldingStopMarker);if(l){var e=l.index+l[0].length;return l[1]?this.closingBracketBlock(a,l[1],i,e):a.getCommentFoldRange(i,e,-1)}}},this.getSectionRange=function(a,o){var i=a.getLine(o),n=i.search(/\S/),t=o,e=i.length;o=o+1;for(var r=o,l=a.getLength();++o<l;){i=a.getLine(o);var c=i.search(/\S/);if(c!==-1){if(n>c)break;var u=this.getFoldWidgetRange(a,"all",o);if(u){if(u.start.row<=t)break;if(u.isMultiLine())o=u.end.row;else if(n==c)break}r=o}}return new w(t,e,r,a.getLine(r).length)},this.getCommentRegionBlock=function(a,o,i){for(var n=o.search(/\s*$/),t=a.getLength(),e=i,r=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++i<t;){o=a.getLine(i);var c=r.exec(o);if(c&&(c[1]?l--:l++,!l))break}var u=i;if(u>e)return new w(e,n,u,o.length)}}.call(s.prototype)});ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("./xml").FoldMode,d=g("./cstyle").FoldMode,s=y.FoldMode=function(a){a&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+a.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+a.end))),this.xmlFoldMode=new w};$.inherits(s,d),function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(a,o,i){var n=this.getFoldWidgetBase(a,o,i);return n||this.xmlFoldMode.getFoldWidget(a,o,i)},this.getFoldWidgetRange=function(a,o,i,n){var t=this.getFoldWidgetRangeBase(a,o,i,n);return t||this.xmlFoldMode.getFoldWidgetRange(a,o,i)}}.call(s.prototype)});ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text").Mode,d=g("./javascript_highlight_rules").JavaScriptHighlightRules,s=g("./matching_brace_outdent").MatchingBraceOutdent,a=g("../worker/worker_client").WorkerClient,o=g("./behaviour/javascript").JavaScriptBehaviour,i=g("./folding/javascript").FoldMode,n=function(){this.HighlightRules=d,this.$outdent=new s,this.$behaviour=new o,this.foldingRules=new i};$.inherits(n,w),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(t,e,r){var l=this.$getIndent(e),c=this.getTokenizer().getLineTokens(e,t),u=c.tokens,f=c.state;if(u.length&&u[u.length-1].type=="comment")return l;if(t=="start"||t=="no_regex"){var p=e.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);p&&(l+=r)}else if(t=="doc-start"&&(f=="start"||f=="no_regex"))return"";return l},this.checkOutdent=function(t,e,r){return this.$outdent.checkOutdent(e,r)},this.autoOutdent=function(t,e,r){this.$outdent.autoOutdent(e,r)},this.createWorker=function(t){var e=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(r){t.setAnnotations(r.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}.call(n.prototype),y.Mode=n});ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("../lib/lang"),d=g("./text_highlight_rules").TextHighlightRules,s=y.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",a=y.supportFunction="rgb|rgba|url|attr|counter|counters",o=y.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",i=y.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",n=y.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",t=y.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",e=y.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",r=y.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",l=function(){var c=this.createKeywordMapper({"support.function":a,"support.constant":o,"support.type":s,"support.constant.color":i,"support.constant.fonts":n},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:t},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+t+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:t},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:e},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:r},{include:"url"},{token:c,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};$.inherits(l,d),y.CssHighlightRules=l});ace.define("ace/mode/css_completions",["require","exports","module"],function(g,y,R){"use strict";var $={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},w=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var d=document.createElement("c").style;for(var s in d)if(typeof d[s]=="string"){var a=s.replace(/[A-Z]/g,function(o){return"-"+o.toLowerCase()});$.hasOwnProperty(a)||($[a]=1)}}this.completionsDefined=!0},this.getCompletions=function(d,s,a,o){if(this.completionsDefined||this.defineCompletions(),d==="ruleset"||s.$mode.$id=="ace/mode/scss"){var i=s.getLine(a.row).substr(0,a.column),n=/\([^)]*$/.test(i);return n&&(i=i.substr(i.lastIndexOf("(")+1)),/:[^;]+$/.test(i)?(/([\w\-]+):[^:]*$/.test(i),this.getPropertyValueCompletions(d,s,a,o)):this.getPropertyCompletions(d,s,a,o,n)}return[]},this.getPropertyCompletions=function(d,s,a,o,i){i=i||!1;var n=Object.keys($);return n.map(function(t){return{caption:t,snippet:t+": $0"+(i?"":";"),meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(d,s,a,o){var i=s.getLine(a.row).substr(0,a.column),n=(/([\w\-]+):[^:]*$/.exec(i)||{})[1];if(!n)return[];var t=[];return n in $&&typeof $[n]=="object"&&(t=Object.keys($[n])),t.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(w.prototype),y.CssCompletions=w});ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../behaviour").Behaviour,d=g("./cstyle").CstyleBehaviour,s=g("../../token_iterator").TokenIterator,a=function(){this.inherit(d),this.add("colon","insertion",function(o,i,n,t,e){if(e===":"&&n.selection.isEmpty()){var r=n.getCursorPosition(),l=new s(t,r.row,r.column),c=l.getCurrentToken();if(c&&c.value.match(/\s+/)&&(c=l.stepBackward()),c&&c.type==="support.type"){var u=t.doc.getLine(r.row),f=u.substring(r.column,r.column+1);if(f===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(u.substring(r.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(o,i,n,t,e){var r=t.doc.getTextRange(e);if(!e.isMultiLine()&&r===":"){var l=n.getCursorPosition(),c=new s(t,l.row,l.column),u=c.getCurrentToken();if(u&&u.value.match(/\s+/)&&(u=c.stepBackward()),u&&u.type==="support.type"){var f=t.doc.getLine(e.start.row),p=f.substring(e.end.column,e.end.column+1);if(p===";")return e.end.column++,e}}}),this.add("semicolon","insertion",function(o,i,n,t,e){if(e===";"&&n.selection.isEmpty()){var r=n.getCursorPosition(),l=t.doc.getLine(r.row),c=l.substring(r.column,r.column+1);if(c===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(o,i,n,t,e){if(e==="!"&&n.selection.isEmpty()){var r=n.getCursorPosition(),l=t.doc.getLine(r.row);if(/^\s*(;|}|$)/.test(l.substring(r.column)))return{text:"!important",selection:[10,10]}}})};$.inherits(a,d),y.CssBehaviour=a});ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text").Mode,d=g("./css_highlight_rules").CssHighlightRules,s=g("./matching_brace_outdent").MatchingBraceOutdent,a=g("../worker/worker_client").WorkerClient,o=g("./css_completions").CssCompletions,i=g("./behaviour/css").CssBehaviour,n=g("./folding/cstyle").FoldMode,t=function(){this.HighlightRules=d,this.$outdent=new s,this.$behaviour=new i,this.$completer=new o,this.foldingRules=new n};$.inherits(t,w),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,r,l){var c=this.$getIndent(r),u=this.getTokenizer().getLineTokens(r,e).tokens;if(u.length&&u[u.length-1].type=="comment")return c;var f=r.match(/^.*\{\s*$/);return f&&(c+=l),c},this.checkOutdent=function(e,r,l){return this.$outdent.checkOutdent(r,l)},this.autoOutdent=function(e,r,l){this.$outdent.autoOutdent(r,l)},this.getCompletions=function(e,r,l,c){return this.$completer.getCompletions(e,r,l,c)},this.createWorker=function(e){var r=new a(["ace"],"ace/mode/css_worker","Worker");return r.attachToDocument(e.getDocument()),r.on("annotate",function(l){e.setAnnotations(l.data)}),r.on("terminate",function(){e.clearAnnotations()}),r},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}.call(t.prototype),y.Mode=t});ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text_highlight_rules").TextHighlightRules,d=function(s){var a="[_:a-zA-Z\xC0-\uFFFF][-_:.a-zA-Z0-9\xC0-\uFFFF]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+a+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:a},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+a+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+a+":)?"+a+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:a},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===d&&this.normalizeRules()};(function(){this.embedTagRules=function(s,a,o){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+o+".tag-name.xml"],regex:"(<)("+o+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:a+"start"}]}),this.$rules[o+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(i,n,t){return t.splice(0),this.token}}],this.embedRules(s,a,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+o+".tag-name.xml"],regex:"(</)("+o+"(?=\\s|>|$))",next:o+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(w.prototype),$.inherits(d,w),y.XmlHighlightRules=d});ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("../lib/lang"),d=g("./css_highlight_rules").CssHighlightRules,s=g("./javascript_highlight_rules").JavaScriptHighlightRules,a=g("./xml_highlight_rules").XmlHighlightRules,o=w.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),i=function(){a.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(n,t){var e=o[t];return["meta.tag.punctuation."+(n=="<"?"":"end-")+"tag-open.xml","meta.tag"+(e?"."+e:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(d,"css-","style"),this.embedTagRules(new s({jsx:!1}).getRules(),"js-","script"),this.constructor===i&&this.normalizeRules()};$.inherits(i,a),y.HtmlHighlightRules=i});ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("./fold_mode").FoldMode,d=y.FoldMode=function(s,a){this.defaultMode=s,this.subModes=a};$.inherits(d,w),function(){this.$getMode=function(s){typeof s!="string"&&(s=s[0]);for(var a in this.subModes)if(s.indexOf(a)===0)return this.subModes[a];return null},this.$tryMode=function(s,a,o,i){var n=this.$getMode(s);return n?n.getFoldWidget(a,o,i):""},this.getFoldWidget=function(s,a,o){return this.$tryMode(s.getState(o-1),s,a,o)||this.$tryMode(s.getState(o),s,a,o)||this.defaultMode.getFoldWidget(s,a,o)},this.getFoldWidgetRange=function(s,a,o){var i=this.$getMode(s.getState(o-1));return(!i||!i.getFoldWidget(s,a,o))&&(i=this.$getMode(s.getState(o))),(!i||!i.getFoldWidget(s,a,o))&&(i=this.defaultMode),i.getFoldWidgetRange(s,a,o)}}.call(d.prototype)});ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("./mixed").FoldMode,d=g("./xml").FoldMode,s=g("./cstyle").FoldMode,a=y.FoldMode=function(o,i){w.call(this,new d(o,i),{"js-":new s,"css-":new s})};$.inherits(a,w)});ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(g,y,R){"use strict";var $=g("../token_iterator").TokenIterator,w=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],d=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],s=w.concat(d),a={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},o=Object.keys(a);function i(r,l){return r.type.lastIndexOf(l+".xml")>-1}function n(r,l){for(var c=new $(r,l.row,l.column),u=c.getCurrentToken();u&&!i(u,"tag-name");)u=c.stepBackward();if(u)return u.value}function t(r,l){for(var c=new $(r,l.row,l.column),u=c.getCurrentToken();u&&!i(u,"attribute-name");)u=c.stepBackward();if(u)return u.value}var e=function(){};(function(){this.getCompletions=function(r,l,c,u){var f=l.getTokenAt(c.row,c.column);if(!f)return[];if(i(f,"tag-name")||i(f,"tag-open")||i(f,"end-tag-open"))return this.getTagCompletions(r,l,c,u);if(i(f,"tag-whitespace")||i(f,"attribute-name"))return this.getAttributeCompletions(r,l,c,u);if(i(f,"attribute-value"))return this.getAttributeValueCompletions(r,l,c,u);var p=l.getLine(c.row).substr(0,c.column);return/&[a-z]*$/i.test(p)?this.getHTMLEntityCompletions(r,l,c,u):[]},this.getTagCompletions=function(r,l,c,u){return o.map(function(f){return{value:f,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(r,l,c,u){var f=n(l,c);if(!f)return[];var p=s;return f in a&&(p=p.concat(Object.keys(a[f]))),p.map(function(b){return{caption:b,snippet:b+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(r,l,c,u){var f=n(l,c),p=t(l,c);if(!f)return[];var b=[];return f in a&&p in a[f]&&typeof a[f][p]=="object"&&(b=Object.keys(a[f][p])),b.map(function(k){return{caption:k,snippet:k,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(r,l,c,u){var f=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return f.map(function(p){return{caption:p,snippet:p,meta:"html entity",score:1e6}})}}).call(e.prototype),y.HtmlCompletions=e});ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("../lib/lang"),d=g("./text").Mode,s=g("./javascript").Mode,a=g("./css").Mode,o=g("./html_highlight_rules").HtmlHighlightRules,i=g("./behaviour/xml").XmlBehaviour,n=g("./folding/html").FoldMode,t=g("./html_completions").HtmlCompletions,e=g("../worker/worker_client").WorkerClient,r=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],l=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],c=function(u){this.fragmentContext=u&&u.fragmentContext,this.HighlightRules=o,this.$behaviour=new i,this.$completer=new t,this.createModeDelegates({"js-":s,"css-":a}),this.foldingRules=new n(this.voidElements,w.arrayToMap(l))};$.inherits(c,d),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=w.arrayToMap(r),this.getNextLineIndent=function(u,f,p){return this.$getIndent(f)},this.checkOutdent=function(u,f,p){return!1},this.getCompletions=function(u,f,p,b){return this.$completer.getCompletions(u,f,p,b)},this.createWorker=function(u){if(this.constructor==c){var f=new e(["ace"],"ace/mode/html_worker","Worker");return f.attachToDocument(u.getDocument()),this.fragmentContext&&f.call("setOptions",[{context:this.fragmentContext}]),f.on("error",function(p){u.setAnnotations(p.data)}),f.on("terminate",function(){u.clearAnnotations()}),f}},this.$id="ace/mode/html",this.snippetFileId="ace/snippets/html"}.call(c.prototype),y.Mode=c});(function(){ace.require(["ace/mode/html"],function(g){typeof pe=="object"&&typeof Ve=="object"&&pe&&(pe.exports=g)})})()});var Ye=re((Ke,me)=>{ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("../lib/lang"),d=g("./text_highlight_rules").TextHighlightRules,s=y.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",a=y.supportFunction="rgb|rgba|url|attr|counter|counters",o=y.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",i=y.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",n=y.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",t=y.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",e=y.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",r=y.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",l=function(){var c=this.createKeywordMapper({"support.function":a,"support.constant":o,"support.type":s,"support.constant.color":i,"support.constant.fonts":n},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:t},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+t+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:t},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:e},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:r},{include:"url"},{token:c,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};$.inherits(l,d),y.CssHighlightRules=l});ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=g("../range").Range,w=function(){};(function(){this.checkOutdent=function(d,s){return/^\s+$/.test(d)?/^\s*\}/.test(s):!1},this.autoOutdent=function(d,s){var a=d.getLine(s),o=a.match(/^(\s*\})/);if(!o)return 0;var i=o[1].length,n=d.findMatchingBracket({row:s,column:i});if(!n||n.row==s)return 0;var t=this.$getIndent(d.getLine(n.row));d.replace(new $(s,0,s,i-1),t)},this.$getIndent=function(d){return d.match(/^\s*/)[0]}}).call(w.prototype),y.MatchingBraceOutdent=w});ace.define("ace/mode/css_completions",["require","exports","module"],function(g,y,R){"use strict";var $={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},w=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var d=document.createElement("c").style;for(var s in d)if(typeof d[s]=="string"){var a=s.replace(/[A-Z]/g,function(o){return"-"+o.toLowerCase()});$.hasOwnProperty(a)||($[a]=1)}}this.completionsDefined=!0},this.getCompletions=function(d,s,a,o){if(this.completionsDefined||this.defineCompletions(),d==="ruleset"||s.$mode.$id=="ace/mode/scss"){var i=s.getLine(a.row).substr(0,a.column),n=/\([^)]*$/.test(i);return n&&(i=i.substr(i.lastIndexOf("(")+1)),/:[^;]+$/.test(i)?(/([\w\-]+):[^:]*$/.test(i),this.getPropertyValueCompletions(d,s,a,o)):this.getPropertyCompletions(d,s,a,o,n)}return[]},this.getPropertyCompletions=function(d,s,a,o,i){i=i||!1;var n=Object.keys($);return n.map(function(t){return{caption:t,snippet:t+": $0"+(i?"":";"),meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(d,s,a,o){var i=s.getLine(a.row).substr(0,a.column),n=(/([\w\-]+):[^:]*$/.exec(i)||{})[1];if(!n)return[];var t=[];return n in $&&typeof $[n]=="object"&&(t=Object.keys($[n])),t.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(w.prototype),y.CssCompletions=w});ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../behaviour").Behaviour,d=g("./cstyle").CstyleBehaviour,s=g("../../token_iterator").TokenIterator,a=function(){this.inherit(d),this.add("colon","insertion",function(o,i,n,t,e){if(e===":"&&n.selection.isEmpty()){var r=n.getCursorPosition(),l=new s(t,r.row,r.column),c=l.getCurrentToken();if(c&&c.value.match(/\s+/)&&(c=l.stepBackward()),c&&c.type==="support.type"){var u=t.doc.getLine(r.row),f=u.substring(r.column,r.column+1);if(f===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(u.substring(r.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(o,i,n,t,e){var r=t.doc.getTextRange(e);if(!e.isMultiLine()&&r===":"){var l=n.getCursorPosition(),c=new s(t,l.row,l.column),u=c.getCurrentToken();if(u&&u.value.match(/\s+/)&&(u=c.stepBackward()),u&&u.type==="support.type"){var f=t.doc.getLine(e.start.row),p=f.substring(e.end.column,e.end.column+1);if(p===";")return e.end.column++,e}}}),this.add("semicolon","insertion",function(o,i,n,t,e){if(e===";"&&n.selection.isEmpty()){var r=n.getCursorPosition(),l=t.doc.getLine(r.row),c=l.substring(r.column,r.column+1);if(c===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(o,i,n,t,e){if(e==="!"&&n.selection.isEmpty()){var r=n.getCursorPosition(),l=t.doc.getLine(r.row);if(/^\s*(;|}|$)/.test(l.substring(r.column)))return{text:"!important",selection:[10,10]}}})};$.inherits(a,d),y.CssBehaviour=a});ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../../range").Range,d=g("./fold_mode").FoldMode,s=y.FoldMode=function(a){a&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+a.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+a.end)))};$.inherits(s,d),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(a,o,i){var n=a.getLine(i);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var t=this._getFoldWidgetBase(a,o,i);return!t&&this.startRegionRe.test(n)?"start":t},this.getFoldWidgetRange=function(a,o,i,n){var t=a.getLine(i);if(this.startRegionRe.test(t))return this.getCommentRegionBlock(a,t,i);var l=t.match(this.foldingStartMarker);if(l){var e=l.index;if(l[1])return this.openingBracketBlock(a,l[1],i,e);var r=a.getCommentFoldRange(i,e+l[0].length,1);return r&&!r.isMultiLine()&&(n?r=this.getSectionRange(a,i):o!="all"&&(r=null)),r}if(o!=="markbegin"){var l=t.match(this.foldingStopMarker);if(l){var e=l.index+l[0].length;return l[1]?this.closingBracketBlock(a,l[1],i,e):a.getCommentFoldRange(i,e,-1)}}},this.getSectionRange=function(a,o){var i=a.getLine(o),n=i.search(/\S/),t=o,e=i.length;o=o+1;for(var r=o,l=a.getLength();++o<l;){i=a.getLine(o);var c=i.search(/\S/);if(c!==-1){if(n>c)break;var u=this.getFoldWidgetRange(a,"all",o);if(u){if(u.start.row<=t)break;if(u.isMultiLine())o=u.end.row;else if(n==c)break}r=o}}return new w(t,e,r,a.getLine(r).length)},this.getCommentRegionBlock=function(a,o,i){for(var n=o.search(/\s*$/),t=a.getLength(),e=i,r=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++i<t;){o=a.getLine(i);var c=r.exec(o);if(c&&(c[1]?l--:l++,!l))break}var u=i;if(u>e)return new w(e,n,u,o.length)}}.call(s.prototype)});ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text").Mode,d=g("./css_highlight_rules").CssHighlightRules,s=g("./matching_brace_outdent").MatchingBraceOutdent,a=g("../worker/worker_client").WorkerClient,o=g("./css_completions").CssCompletions,i=g("./behaviour/css").CssBehaviour,n=g("./folding/cstyle").FoldMode,t=function(){this.HighlightRules=d,this.$outdent=new s,this.$behaviour=new i,this.$completer=new o,this.foldingRules=new n};$.inherits(t,w),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,r,l){var c=this.$getIndent(r),u=this.getTokenizer().getLineTokens(r,e).tokens;if(u.length&&u[u.length-1].type=="comment")return c;var f=r.match(/^.*\{\s*$/);return f&&(c+=l),c},this.checkOutdent=function(e,r,l){return this.$outdent.checkOutdent(r,l)},this.autoOutdent=function(e,r,l){this.$outdent.autoOutdent(r,l)},this.getCompletions=function(e,r,l,c){return this.$completer.getCompletions(e,r,l,c)},this.createWorker=function(e){var r=new a(["ace"],"ace/mode/css_worker","Worker");return r.attachToDocument(e.getDocument()),r.on("annotate",function(l){e.setAnnotations(l.data)}),r.on("terminate",function(){e.clearAnnotations()}),r},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}.call(t.prototype),y.Mode=t});(function(){ace.require(["ace/mode/css"],function(g){typeof me=="object"&&typeof Ke=="object"&&me&&(me.exports=g)})})()});var Qe=re((Ze,ve)=>{ace.define("ace/mode/yaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text_highlight_rules").TextHighlightRules,d=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"list.markup",regex:/^(?:-{3}|\.{3})\s*(?=#|$)/},{token:"list.markup",regex:/^\s*[\-?](?:$|\s)/},{token:"constant",regex:"!![\\w//]+"},{token:"constant.language",regex:"[&\\*][a-zA-Z0-9-_]+"},{token:["meta.tag","keyword"],regex:/^(\s*\w[^\s:]*?)(:(?=\s|$))/},{token:["meta.tag","keyword"],regex:/(\w[^\s:]*?)(\s*:(?=\s|$))/},{token:"keyword.operator",regex:"<<\\w*:\\w*"},{token:"keyword.operator",regex:"-\\s*(?=[{])"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:/[|>][-+\d]*(?:$|\s+(?:$|#))/,onMatch:function(s,a,o,i){i=i.replace(/ #.*/,"");var n=/^ *((:\s*)?-(\s*[^|>])?)?/.exec(i)[0].replace(/\S\s*$/,"").length,t=parseInt(/\d+[\s+-]*$/.exec(i));return t?(n+=t-1,this.next="mlString"):this.next="mlStringPre",o.length?(o[0]=this.next,o[1]=n):(o.push(this.next),o.push(n)),this.token},next:"mlString"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:/(\b|[+\-\.])[\d_]+(?:(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)(?=[^\d-\w]|$)$/},{token:"constant.numeric",regex:/[+\-]?\.inf\b|NaN\b|0x[\dA-Fa-f_]+|0b[10_]+/},{token:"constant.language.boolean",regex:"\\b(?:true|false|TRUE|FALSE|True|False|yes|no)\\b"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:/[^\s,:\[\]\{\}]+/}],mlStringPre:[{token:"indent",regex:/^ *$/},{token:"indent",regex:/^ */,onMatch:function(s,a,o){var i=o[1];return i>=s.length?(this.next="start",o.shift(),o.shift()):(o[1]=s.length-1,this.next=o[0]="mlString"),this.token},next:"mlString"},{defaultToken:"string"}],mlString:[{token:"indent",regex:/^ *$/},{token:"indent",regex:/^ */,onMatch:function(s,a,o){var i=o[1];return i>=s.length?(this.next="start",o.splice(0)):this.next="mlString",this.token},next:"mlString"},{token:"string",regex:".+"}]},this.normalizeRules()};$.inherits(d,w),y.YamlHighlightRules=d});ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=g("../range").Range,w=function(){};(function(){this.checkOutdent=function(d,s){return/^\s+$/.test(d)?/^\s*\}/.test(s):!1},this.autoOutdent=function(d,s){var a=d.getLine(s),o=a.match(/^(\s*\})/);if(!o)return 0;var i=o[1].length,n=d.findMatchingBracket({row:s,column:i});if(!n||n.row==s)return 0;var t=this.$getIndent(d.getLine(n.row));d.replace(new $(s,0,s,i-1),t)},this.$getIndent=function(d){return d.match(/^\s*/)[0]}}).call(w.prototype),y.MatchingBraceOutdent=w});ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("./fold_mode").FoldMode,d=g("../../range").Range,s=y.FoldMode=function(){};$.inherits(s,w),function(){this.commentBlock=function(a,o){var i=/\S/,n=a.getLine(o),t=n.search(i);if(!(t==-1||n[t]!="#")){for(var e=n.length,r=a.getLength(),l=o,c=o;++o<r;){n=a.getLine(o);var u=n.search(i);if(u!=-1){if(n[u]!="#")break;c=o}}if(c>l){var f=a.getLine(c).length;return new d(l,e,c,f)}}},this.getFoldWidgetRange=function(a,o,i){var n=this.indentationBlock(a,i);if(n||(n=this.commentBlock(a,i),n))return n},this.getFoldWidget=function(a,o,i){var n=a.getLine(i),t=n.search(/\S/),e=a.getLine(i+1),r=a.getLine(i-1),l=r.search(/\S/),c=e.search(/\S/);if(t==-1)return a.foldWidgets[i-1]=l!=-1&&l<c?"start":"","";if(l==-1){if(t==c&&n[t]=="#"&&e[t]=="#")return a.foldWidgets[i-1]="",a.foldWidgets[i+1]="","start"}else if(l==t&&n[t]=="#"&&r[t]=="#"&&a.getLine(i-2).search(/\S/)==-1)return a.foldWidgets[i-1]="start",a.foldWidgets[i+1]="","";return l!=-1&&l<t?a.foldWidgets[i-1]="start":a.foldWidgets[i-1]="",t<c?"start":""}}.call(s.prototype)});ace.define("ace/mode/folding/yaml",["require","exports","module","ace/lib/oop","ace/mode/folding/coffee","ace/range"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("./coffee").FoldMode,d=g("../../range").Range,s=y.FoldMode=function(){};$.inherits(s,w),function(){this.getFoldWidgetRange=function(a,o,i){var n=/\S/,t=a.getLine(i),e=t.search(n),r=t[e]==="#",l=t[e]==="-";if(e!=-1){var c=t.length,u=a.getLength(),f=i,p=i;if(r){var b=this.commentBlock(a,i);if(b)return b}else if(l){var b=this.indentationBlock(a,i);if(b)return b}else for(;++i<u;){var t=a.getLine(i),k=t.search(n);if(k!=-1){if(k<=e&&t[e]!=="-"){var v=a.getTokenAt(i,0);if(!v||v.type!=="string")break}p=i}}if(p>f){var A=a.getLine(p).length;return new d(f,c,p,A)}}},this.getFoldWidget=function(a,o,i){var n=a.getLine(i),t=n.search(/\S/),e=a.getLine(i+1),r=a.getLine(i-1),l=r.search(/\S/),c=e.search(/\S/),u=n[t]==="-";if(t==-1)return a.foldWidgets[i-1]=l!=-1&&l<c?"start":"","";if(l==-1){if(t==c&&n[t]=="#"&&e[t]=="#")return a.foldWidgets[i-1]="",a.foldWidgets[i+1]="","start"}else if(l==t&&n[t]=="#"&&r[t]=="#"&&a.getLine(i-2).search(/\S/)==-1)return a.foldWidgets[i-1]="start",a.foldWidgets[i+1]="","";return l!=-1&&l<t||l!=-1&&l==t&&u?a.foldWidgets[i-1]="start":a.foldWidgets[i-1]="",t<c?"start":""}}.call(s.prototype)});ace.define("ace/mode/yaml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/yaml_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/yaml","ace/worker/worker_client"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text").Mode,d=g("./yaml_highlight_rules").YamlHighlightRules,s=g("./matching_brace_outdent").MatchingBraceOutdent,a=g("./folding/yaml").FoldMode,o=g("../worker/worker_client").WorkerClient,i=function(){this.HighlightRules=d,this.$outdent=new s,this.foldingRules=new a,this.$behaviour=this.$defaultBehaviour};$.inherits(i,w),function(){this.lineCommentStart=["#"],this.getNextLineIndent=function(n,t,e){var r=this.$getIndent(t);if(n=="start"){var l=t.match(/^.*[\{\(\[]\s*$/);l&&(r+=e)}return r},this.checkOutdent=function(n,t,e){return this.$outdent.checkOutdent(t,e)},this.autoOutdent=function(n,t,e){this.$outdent.autoOutdent(t,e)},this.createWorker=function(n){var t=new o(["ace"],"ace/mode/yaml_worker","YamlWorker");return t.attachToDocument(n.getDocument()),t.on("annotate",function(e){n.setAnnotations(e.data)}),t.on("terminate",function(){n.clearAnnotations()}),t},this.$id="ace/mode/yaml"}.call(i.prototype),y.Mode=i});(function(){ace.require(["ace/mode/yaml"],function(g){typeof ve=="object"&&typeof Ze=="object"&&ve&&(ve.exports=g)})})()});var Je=re((Xe,ye)=>{ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text_highlight_rules").TextHighlightRules,d=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};$.inherits(d,w),y.JsonHighlightRules=d});ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(g,y,R){"use strict";var $=g("../range").Range,w=function(){};(function(){this.checkOutdent=function(d,s){return/^\s+$/.test(d)?/^\s*\}/.test(s):!1},this.autoOutdent=function(d,s){var a=d.getLine(s),o=a.match(/^(\s*\})/);if(!o)return 0;var i=o[1].length,n=d.findMatchingBracket({row:s,column:i});if(!n||n.row==s)return 0;var t=this.$getIndent(d.getLine(n.row));d.replace(new $(s,0,s,i-1),t)},this.$getIndent=function(d){return d.match(/^\s*/)[0]}}).call(w.prototype),y.MatchingBraceOutdent=w});ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(g,y,R){"use strict";var $=g("../../lib/oop"),w=g("../../range").Range,d=g("./fold_mode").FoldMode,s=y.FoldMode=function(a){a&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+a.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+a.end)))};$.inherits(s,d),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(a,o,i){var n=a.getLine(i);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var t=this._getFoldWidgetBase(a,o,i);return!t&&this.startRegionRe.test(n)?"start":t},this.getFoldWidgetRange=function(a,o,i,n){var t=a.getLine(i);if(this.startRegionRe.test(t))return this.getCommentRegionBlock(a,t,i);var l=t.match(this.foldingStartMarker);if(l){var e=l.index;if(l[1])return this.openingBracketBlock(a,l[1],i,e);var r=a.getCommentFoldRange(i,e+l[0].length,1);return r&&!r.isMultiLine()&&(n?r=this.getSectionRange(a,i):o!="all"&&(r=null)),r}if(o!=="markbegin"){var l=t.match(this.foldingStopMarker);if(l){var e=l.index+l[0].length;return l[1]?this.closingBracketBlock(a,l[1],i,e):a.getCommentFoldRange(i,e,-1)}}},this.getSectionRange=function(a,o){var i=a.getLine(o),n=i.search(/\S/),t=o,e=i.length;o=o+1;for(var r=o,l=a.getLength();++o<l;){i=a.getLine(o);var c=i.search(/\S/);if(c!==-1){if(n>c)break;var u=this.getFoldWidgetRange(a,"all",o);if(u){if(u.start.row<=t)break;if(u.isMultiLine())o=u.end.row;else if(n==c)break}r=o}}return new w(t,e,r,a.getLine(r).length)},this.getCommentRegionBlock=function(a,o,i){for(var n=o.search(/\s*$/),t=a.getLength(),e=i,r=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++i<t;){o=a.getLine(i);var c=r.exec(o);if(c&&(c[1]?l--:l++,!l))break}var u=i;if(u>e)return new w(e,n,u,o.length)}}.call(s.prototype)});ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],function(g,y,R){"use strict";var $=g("../lib/oop"),w=g("./text").Mode,d=g("./json_highlight_rules").JsonHighlightRules,s=g("./matching_brace_outdent").MatchingBraceOutdent,a=g("./folding/cstyle").FoldMode,o=g("../worker/worker_client").WorkerClient,i=function(){this.HighlightRules=d,this.$outdent=new s,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new a};$.inherits(i,w),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(n,t,e){var r=this.$getIndent(t);if(n=="start"){var l=t.match(/^.*[\{\(\[]\s*$/);l&&(r+=e)}return r},this.checkOutdent=function(n,t,e){return this.$outdent.checkOutdent(t,e)},this.autoOutdent=function(n,t,e){this.$outdent.autoOutdent(t,e)},this.createWorker=function(n){var t=new o(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(n.getDocument()),t.on("annotate",function(e){n.setAnnotations(e.data)}),t.on("terminate",function(){n.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(i.prototype),y.Mode=i});(function(){ace.require(["ace/mode/json"],function(g){typeof ye=="object"&&typeof Xe=="object"&&ye&&(ye.exports=g)})})()});var et=re((qe,be)=>{ace.define("ace/theme/monokai-css",["require","exports","module"],function(g,y,R){R.exports=`.ace-monokai .ace_gutter {
|
|
988
|
+
background: #2F3129;
|
|
989
|
+
color: #8F908A
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
.ace-monokai .ace_print-margin {
|
|
993
|
+
width: 1px;
|
|
994
|
+
background: #555651
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
.ace-monokai {
|
|
998
|
+
background-color: #272822;
|
|
999
|
+
color: #F8F8F2
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
.ace-monokai .ace_cursor {
|
|
1003
|
+
color: #F8F8F0
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
.ace-monokai .ace_marker-layer .ace_selection {
|
|
1007
|
+
background: #49483E
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
.ace-monokai.ace_multiselect .ace_selection.ace_start {
|
|
1011
|
+
box-shadow: 0 0 3px 0px #272822;
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
.ace-monokai .ace_marker-layer .ace_step {
|
|
1015
|
+
background: rgb(102, 82, 0)
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
.ace-monokai .ace_marker-layer .ace_bracket {
|
|
1019
|
+
margin: -1px 0 0 -1px;
|
|
1020
|
+
border: 1px solid #49483E
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
.ace-monokai .ace_marker-layer .ace_active-line {
|
|
1024
|
+
background: #202020
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
.ace-monokai .ace_gutter-active-line {
|
|
1028
|
+
background-color: #272727
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
.ace-monokai .ace_marker-layer .ace_selected-word {
|
|
1032
|
+
border: 1px solid #49483E
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
.ace-monokai .ace_invisible {
|
|
1036
|
+
color: #52524d
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
.ace-monokai .ace_entity.ace_name.ace_tag,
|
|
1040
|
+
.ace-monokai .ace_keyword,
|
|
1041
|
+
.ace-monokai .ace_meta.ace_tag,
|
|
1042
|
+
.ace-monokai .ace_storage {
|
|
1043
|
+
color: #F92672
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
.ace-monokai .ace_punctuation,
|
|
1047
|
+
.ace-monokai .ace_punctuation.ace_tag {
|
|
1048
|
+
color: #fff
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
.ace-monokai .ace_constant.ace_character,
|
|
1052
|
+
.ace-monokai .ace_constant.ace_language,
|
|
1053
|
+
.ace-monokai .ace_constant.ace_numeric,
|
|
1054
|
+
.ace-monokai .ace_constant.ace_other {
|
|
1055
|
+
color: #AE81FF
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
.ace-monokai .ace_invalid {
|
|
1059
|
+
color: #F8F8F0;
|
|
1060
|
+
background-color: #F92672
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
.ace-monokai .ace_invalid.ace_deprecated {
|
|
1064
|
+
color: #F8F8F0;
|
|
1065
|
+
background-color: #AE81FF
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
.ace-monokai .ace_support.ace_constant,
|
|
1069
|
+
.ace-monokai .ace_support.ace_function {
|
|
1070
|
+
color: #66D9EF
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
.ace-monokai .ace_fold {
|
|
1074
|
+
background-color: #A6E22E;
|
|
1075
|
+
border-color: #F8F8F2
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
.ace-monokai .ace_storage.ace_type,
|
|
1079
|
+
.ace-monokai .ace_support.ace_class,
|
|
1080
|
+
.ace-monokai .ace_support.ace_type {
|
|
1081
|
+
font-style: italic;
|
|
1082
|
+
color: #66D9EF
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
.ace-monokai .ace_entity.ace_name.ace_function,
|
|
1086
|
+
.ace-monokai .ace_entity.ace_other,
|
|
1087
|
+
.ace-monokai .ace_entity.ace_other.ace_attribute-name,
|
|
1088
|
+
.ace-monokai .ace_variable {
|
|
1089
|
+
color: #A6E22E
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
.ace-monokai .ace_variable.ace_parameter {
|
|
1093
|
+
font-style: italic;
|
|
1094
|
+
color: #FD971F
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
.ace-monokai .ace_string {
|
|
1098
|
+
color: #E6DB74
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
.ace-monokai .ace_comment {
|
|
1102
|
+
color: #75715E
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
.ace-monokai .ace_indent-guide {
|
|
1106
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
.ace-monokai .ace_indent-guide-active {
|
|
1110
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;
|
|
1111
|
+
}
|
|
1112
|
+
`});ace.define("ace/theme/monokai",["require","exports","module","ace/theme/monokai-css","ace/lib/dom"],function(g,y,R){y.isDark=!0,y.cssClass="ace-monokai",y.cssText=g("./monokai-css");var $=g("../lib/dom");$.importCssString(y.cssText,y.cssClass,!1)});(function(){ace.require(["ace/theme/monokai"],function(g){typeof be=="object"&&typeof qe=="object"&&be&&(be.exports=g)})})()});var _e=oe(Pe(),1),Kn=oe(Ue(),1),Yn=oe(Ge(),1),Zn=oe(Ye(),1),Qn=oe(Qe(),1),Xn=oe(Je(),1),Jn=oe(et(),1);function tt(){return{contentEditorPanel:document.getElementById("content-editor-panel"),dataEditorPanel:document.getElementById("data-editor-panel"),styleEditorPanel:document.getElementById("style-editor-panel"),scriptEditorPanel:document.getElementById("script-editor-panel"),serverEditorPanel:document.getElementById("server-editor-panel")}}function nt(){return{contentTextarea:document.getElementById("content"),dataTextarea:document.getElementById("data"),styleTextarea:document.getElementById("style"),scriptTextarea:document.getElementById("script"),serverTextarea:document.getElementById("server")}}function it(){return{templateSearch:document.getElementById("template-search"),templateDropdown:document.getElementById("template-dropdown")}}function rt(){return{slotSearch:document.getElementById("slot-search"),slotDropdown:document.getElementById("slot-dropdown")}}function ot(){return{statusIndicator:document.getElementById("status-indicator"),statusText:document.getElementById("status-text")}}function st(){return document.getElementById("preview")}function se(g,y){let R=y.split("."),$=g;for(let w of R){if($==null||typeof $!="object")return;$=$[w]}return $}function at(g,y,R){let $=y.split("."),w=$.pop();if(!w)return;let d=g;for(let s of $)(d[s]==null||typeof d[s]!="object")&&(d[s]={}),d=d[s];d[w]=R}function ae(g){return typeof structuredClone=="function"?structuredClone(g):JSON.parse(JSON.stringify(g))}function le(g,y){if(g===y)return!0;if(g==null||y==null)return g===y;if(typeof g!="object"||typeof y!="object")return!1;let R=Array.isArray(g),$=Array.isArray(y);if(R!==$)return!1;if(R){let a=g,o=y;if(a.length!==o.length)return!1;for(let i=0;i<a.length;i++)if(!le(a[i],o[i]))return!1;return!0}let w=g,d=y,s=new Set([...Object.keys(w),...Object.keys(d)]);if(s.size!==Object.keys(w).length||s.size!==Object.keys(d).length)return!1;for(let a of s)if(!le(w[a],d[a]))return!1;return!0}function Ie(g,y="",R=[]){if(g==null||typeof g!="object")return y&&R.push(y),R;y&&R.push(y);let $=g;for(let w of Object.keys($)){let d=y?`${y}.${w}`:w;Ie($[w],d,R)}return R}function lt(g={}){let y=ae(g),R=ae(g),$=new Map;function w(d,s,a){$.get(d)?.forEach(o=>o(s,a,d)),$.get("*")?.forEach(o=>o(s,a,d))}return{get(d){return se(R,d)},getInitial(d){return se(y,d)},set(d,s){let a=se(R,d),o=Array.isArray(a),i=Array.isArray(s);if(o&&i){if(le(a,s))return}else if(!(o||i)){if(a!=null&&typeof a=="object"&&s!=null&&typeof s=="object"){if(le(a,s))return}else if(Object.is(a,s))return}at(R,d,s),w(d,s,a)},setSilent(d,s){at(R,d,s)},watch(d,s){let a=Array.isArray(d)?d:[d??"*"],o=[];for(let i of a){let n=i??"*",t=$.get(n)??new Set;t.add(s),$.set(n,t),o.push(()=>t.delete(s))}return()=>o.forEach(i=>i())},isDirty(d){return d?!le(se(y,d),se(R,d)):!le(y,R)},commit(d,{replaceActive:s=!0}={}){let a=ae(R);if(y=ae(d),s){R=ae(d);let o=new Set([...Ie(a),...Ie(R)]);for(let i of o){let n=se(R,i),t=se(a,i);le(n,t)||w(i,n,t)}}},snapshotActive(){return ae(R)},snapshotInitial(){return ae(y)},debounce(d,s){let{delay:a=400,include:o,exclude:i}=d??{},n=null,t=(e,r,l)=>{i&&l&&i.includes(l)||o&&l&&!o.includes(l)||(n&&clearTimeout(n),n=setTimeout(()=>{s(),n=null},a))};return this.watch(o??void 0,t)}}}function Wt(g,{root:y=document,throwOnMissing:R=!0}={}){let $=new Map;function w(e,r){if(s(r))return`${e}::ace::${r.id||Math.random()}`;let l=r;if(l.id)return`${e}::${l.id}`;let c=l.tagName.toLowerCase(),u=l.parentElement;if(u){let p=Array.from(u.children).filter(b=>b.tagName===l.tagName).indexOf(l);return`${e}::${c}::${p}`}return`${e}::${Math.random()}`}function d(e){return typeof e=="string"?y.querySelector(e):e}function s(e){return e!==null&&typeof e=="object"&&"getValue"in e&&typeof e.getValue=="function"&&"setValue"in e&&typeof e.setValue=="function"}function a(e){return s(e)?e.getValue():e.type==="checkbox"?!!e.checked:e.value}function o(e,r){if(s(e)){e.setValue(r??"",-1);return}e.type==="checkbox"?e.checked=!!r:e.value=r??""}function i(e){return s(e)||e.type==="checkbox"?"change":"input"}function n(e,r,l={}){let c=d(r);if(!c){if(R)throw new Error(`bind(): element not found for ${r}`);return null}let{read:u=a,write:f=o,event:p=i(c),onChange:b}=l;f(c,g.get(e));let k=()=>{let C=u(c);g.set(e,C),typeof b=="function"&&b(C,{path:e,el:c})};p&&(s(c)?c.on(p,k):c.addEventListener(p,k));let v=null;if(l?.onClick){let C=x=>{let m=g.get(e);l.onClick(x,m)};s(c)?(c.on("click",C),v=()=>c.off("click",C)):(c.addEventListener("click",x=>C(x)),v=()=>c.removeEventListener("click",C))}let A=null;if(l?.onBlur){let C=()=>{let x=g.get(e);l.onBlur(x,{path:e,el:c})};s(c)?(c.on("blur",C),A=()=>c.off("blur",C)):(c.addEventListener("blur",C),A=()=>c.removeEventListener("blur",C))}let M=l.writeOnStoreChange!==!1?g.watch(e,C=>{f(c,C)}):()=>{},E={path:e,el:c,sync(){f(c,g.get(e))},destroy(){p&&(s(c)?c.off(p,k):c.removeEventListener(p,k)),v&&v(),A&&A(),M()}},_=w(e,c);return $.has(_)&&$.get(_)?.destroy(),$.set(_,E),E}function t(){for(let e of $.values())e.sync()}return{bind:n,syncAll:t}}function we(g={}){let y=lt(g),R=Wt(y),$=y.commit.bind(y);return y.commit=(w,d)=>{$(w,d),R.syncAll()},{store:y,binder:R}}function ct(){let g=document.body.getAttribute("data-state");if(!g)throw new Error("No state data found on body element");return JSON.parse(g)}function xe(g){let{document:y,render:R,tabs:$,api:w,tabFilenames:d,contentModifiedByServer:s}=g,a=y.draft??!1;return{draft:{title:y.title||"",mime_type:y.mime_type||"text/html; charset=UTF-8",extension:y.extension||".html",template_id:y.template_id||null,slot_id:y.slot_id||null,content:y.content||"",data:y.data||"{}",style:y.style||"",script:y.script||"",server:y.server||""},save:{path:y.path||"",published:y.published||!1},meta:{api:w||[],currentPath:y.path||"",hasDraft:a,saveDisabled:!a,revertDisabled:!a,documentId:y.id||0,disableIfDocumentDoesNotExist:!y.id,redirects:y.redirects||[],uploads:y.uploads||[],html:R.html||"",template:y.template||null,slot:y.slot||null,tabs:$,tabFilenames:d||{content:"content.md",data:"data.json",style:"style.css",script:"script.js",server:"server.js",settings:"settings"},contentModifiedByServer:s||!1}}}function Z(g){return g==null?"":g.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function ut(g,y=90){if(g==null)return"";if(g.length<=y)return g;if(y<=1)return"\u2026";let R=y-1,$=Math.ceil(R/2),w=Math.floor(R/2);return`${g.slice(0,$)}\u2026${g.slice(-w)}`}function te(g){return g==="/"?"/edit":`${g}/edit`}function Ht(g){if(typeof window>"u")return g;let y=new URL(window.location.href);if(!y.search)return g;let R=new URL(g,y.origin);for(let[$,w]of y.searchParams.entries())R.searchParams.has($)||R.searchParams.append($,w);return`${R.pathname}${R.search}`}function ke(g){return Ht(te(g))}function $e(g,y){let R=g.querySelector(y);R&&R.closest("tr")?.remove()}var Ce=class{constructor(y){He(this,"opts");this.opts=y}get editUrl(){let y=this.opts.save.store.getInitial("path");return ke(y)}async handleResponse(y,R){let{updateDraft:$,updateSave:w,replaceActiveDraft:d=!0}=R;if(!y.ok)throw new Error(`Request failed: ${y.status} ${y.statusText}`);let s=await y.json(),a=xe(s),o=a.meta.contentModifiedByServer;$&&(o&&!d?(this.opts.draft.store.commit(a.draft,{replaceActive:!1}),this.opts.draft.store.setSilent("content",a.draft.content),this.opts.draft.binder.syncAll()):this.opts.draft.store.commit(a.draft,{replaceActive:d})),w&&this.opts.save.store.commit(a.save),this.opts.meta.store.commit(a.meta)}async fetch(y){try{this.opts.meta.store.set("status",{message:y.startMessage});let R=await fetch(this.editUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(y.payload)});await this.handleResponse(R,{updateDraft:y.updateDraft,updateSave:y.updateSave,replaceActiveDraft:y.replaceActiveDraft}),this.opts.meta.store.set("status",{message:y.endMessage})}catch(R){this.opts.meta.store.set("toast",{message:"Error",details:R.message})}}async revert(){return this.fetch({payload:{draft:!1},startMessage:"Reverting...",endMessage:"Reverted",updateDraft:!0,updateSave:!0})}async publish(){return this.fetch({payload:{published:!this.opts.save.store.get("published")},startMessage:this.opts.save.store.get("published")?"Unpublishing...":"Publishing...",endMessage:"Done!",updateDraft:!0,updateSave:!0})}async save(){return await this.fetch({payload:{...this.opts.draft.store.snapshotActive(),...this.opts.save.store.snapshotActive(),draft:!1},startMessage:"Saving...",endMessage:"Saved!",updateDraft:!0,updateSave:!0})}async draft(){if(this.opts.draft.store.isDirty())return this.fetch({payload:{path:this.opts.save.store.get("path"),...this.opts.draft.store.snapshotActive(),draft:!0},startMessage:"Saving Draft...",endMessage:"Draft Saved!",updateDraft:!0,replaceActiveDraft:!1})}};function De(g){g.define("ace/theme/monokai_custom",["require","exports","module","ace/lib/dom"],function(y,R){let $=y("ace/lib/dom");R.isDark=!0,R.cssClass="ace-monokai-custom",R.cssText=`/* Custom Monokai w/ Markdown Heading Support */
|
|
1113
|
+
.ace-monokai-custom .ace_gutter {
|
|
1114
|
+
background: #2F3129;
|
|
1115
|
+
color: #8F908A;
|
|
1116
|
+
}
|
|
1117
|
+
.ace-monokai-custom {
|
|
1118
|
+
background-color: #272822;
|
|
1119
|
+
color: #F8F8F2;
|
|
1120
|
+
font-family: Monaco, Menlo, "SF Mono", Consolas, "Liberation Mono", "Courier New", monospace;
|
|
1121
|
+
}
|
|
1122
|
+
.ace-monokai-custom .ace_cursor {
|
|
1123
|
+
color: #F8F8F0;
|
|
1124
|
+
}
|
|
1125
|
+
.ace-monokai-custom .ace_marker-layer .ace_selection {
|
|
1126
|
+
background: #49483E;
|
|
1127
|
+
}
|
|
1128
|
+
.ace-monokai-custom .ace_marker-layer .ace_active-line {
|
|
1129
|
+
background: #202020;
|
|
1130
|
+
}
|
|
1131
|
+
.ace-monokai-custom .ace_keyword {
|
|
1132
|
+
color: #F92672;
|
|
1133
|
+
}
|
|
1134
|
+
.ace-monokai-custom .ace_constant.ace_language {
|
|
1135
|
+
color: #F92672;
|
|
1136
|
+
font-weight: 600;
|
|
1137
|
+
}
|
|
1138
|
+
.ace-monokai-custom .ace_constant.ace_numeric {
|
|
1139
|
+
color: #AE81FF;
|
|
1140
|
+
}
|
|
1141
|
+
.ace-monokai-custom .ace_string {
|
|
1142
|
+
color: #E6DB74;
|
|
1143
|
+
}
|
|
1144
|
+
.ace-monokai-custom .ace_comment {
|
|
1145
|
+
color: #A6A6A6;
|
|
1146
|
+
}
|
|
1147
|
+
.ace-monokai-custom .ace_entity.ace_name.ace_function,
|
|
1148
|
+
.ace-monokai-custom .ace_support.ace_function,
|
|
1149
|
+
.ace-monokai-custom .ace_storage {
|
|
1150
|
+
color: #66D9EF;
|
|
1151
|
+
}
|
|
1152
|
+
.ace-monokai-custom .ace_markup.ace_heading {
|
|
1153
|
+
color: #F92672;
|
|
1154
|
+
font-weight: 700;
|
|
1155
|
+
}
|
|
1156
|
+
.ace-monokai-custom .ace_markup.ace_list {
|
|
1157
|
+
color: #A6E22E;
|
|
1158
|
+
}
|
|
1159
|
+
.ace-monokai-custom .ace_markup.ace_quote,
|
|
1160
|
+
.ace-monokai-custom .ace_quote {
|
|
1161
|
+
color: #66D9EF;
|
|
1162
|
+
font-style: italic;
|
|
1163
|
+
}
|
|
1164
|
+
.ace-monokai-custom .ace_italic {
|
|
1165
|
+
font-style: italic;
|
|
1166
|
+
color: #F8F8F2;
|
|
1167
|
+
}
|
|
1168
|
+
.ace-monokai-custom .ace_bold {
|
|
1169
|
+
font-weight: 700 !important;
|
|
1170
|
+
color: #F8F8F2;
|
|
1171
|
+
text-shadow: 0 0 0.5px #F8F8F2, 0 0 0.5px #F8F8F2;
|
|
1172
|
+
}
|
|
1173
|
+
.ace-monokai-custom .ace_markup.ace_underline {
|
|
1174
|
+
text-decoration: underline;
|
|
1175
|
+
}
|
|
1176
|
+
.ace-monokai-custom .ace_support.ace_constant {
|
|
1177
|
+
color: #66D9EF;
|
|
1178
|
+
}
|
|
1179
|
+
.ace-monokai-custom .ace_invalid {
|
|
1180
|
+
color: #F8F8F2;
|
|
1181
|
+
background-color: #F92672;
|
|
1182
|
+
}
|
|
1183
|
+
.ace-monokai-custom .ace_markup.ace_link {
|
|
1184
|
+
color: #66D9EF;
|
|
1185
|
+
text-decoration: underline;
|
|
1186
|
+
}
|
|
1187
|
+
.ace-monokai-custom .ace_variable {
|
|
1188
|
+
color: #FD971F;
|
|
1189
|
+
}
|
|
1190
|
+
.ace-monokai-custom .ace_paren.ace_lparen,
|
|
1191
|
+
.ace-monokai-custom .ace_paren.ace_rparen {
|
|
1192
|
+
color: #F8F8F2;
|
|
1193
|
+
}
|
|
1194
|
+
.ace-monokai-custom .ace_meta.ace_tag {
|
|
1195
|
+
color: #F92672;
|
|
1196
|
+
}
|
|
1197
|
+
.ace-monokai-custom .ace_entity.ace_name.ace_tag {
|
|
1198
|
+
color: #A6E22E;
|
|
1199
|
+
font-weight: 600;
|
|
1200
|
+
}
|
|
1201
|
+
.ace-monokai-custom .ace_entity.ace_other.ace_attribute-name {
|
|
1202
|
+
color: #FD971F;
|
|
1203
|
+
}
|
|
1204
|
+
.ace-monokai-custom .ace_string.ace_attribute-value {
|
|
1205
|
+
color: #E6DB74;
|
|
1206
|
+
}
|
|
1207
|
+
.ace-monokai-custom .ace_text {
|
|
1208
|
+
color: #F8F8F2;
|
|
1209
|
+
}
|
|
1210
|
+
.ace-monokai-custom .ace_punctuation.ace_tag-close {
|
|
1211
|
+
color: #F92672;
|
|
1212
|
+
}
|
|
1213
|
+
.ace-monokai-custom .ace_tag-open {
|
|
1214
|
+
color: #F92672;
|
|
1215
|
+
}
|
|
1216
|
+
.ace-monokai-custom .ace_tag-name {
|
|
1217
|
+
color: #A6E22E;
|
|
1218
|
+
font-weight: 600;
|
|
1219
|
+
}
|
|
1220
|
+
.ace-monokai-custom .ace_attribute-name {
|
|
1221
|
+
color: #FD971F;
|
|
1222
|
+
}
|
|
1223
|
+
.ace-monokai-custom .ace_attribute-value {
|
|
1224
|
+
color: #E6DB74;
|
|
1225
|
+
}
|
|
1226
|
+
`,$.importCssString(R.cssText,R.cssClass)})}function ht(g){g.define("ace/mode/markdown_simple",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/html_highlight_rules"],function(y,R){let $=y("ace/lib/oop"),w=y("ace/mode/text").Mode,d=y("ace/mode/text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"support.function",regex:"^```javascript$",next:"codeblock-js"},{token:"support.function",regex:"^```js$",next:"codeblock-js"},{token:"support.function",regex:"^```\\w+$",next:"codeblock"},{token:"support.function",regex:"^```$",next:"codeblock"},{token:"markup.heading",regex:/^#{1,6}\s+.*$/},{token:"constant.language",regex:"<%[\\-=~]?",next:"ejs"},{token:["constant.numeric","markup.bold","constant.numeric"],regex:"(\\*\\*)([^*]+?)(\\*\\*)"},{token:["constant.numeric","markup.bold","constant.numeric"],regex:"(__)([^_]+?)(__)"},{token:["constant.numeric","markup.italic","constant.numeric"],regex:"(\\*)([^*]+?)(\\*)"},{token:["constant.numeric","markup.italic","constant.numeric"],regex:"(_)([^_]+?)(_)"},{token:["constant.numeric","string","constant.numeric","markup.underline.link","constant.numeric"],regex:"(\\!\\[)([^\\]]*)(\\]\\()([^)]+)(\\))"},{token:["constant.numeric","string","constant.numeric","markup.underline.link","constant.numeric"],regex:"(\\[)([^\\]]+)(\\]\\()([^)]+)(\\))"},{token:["constant.numeric","string.quoted","constant.numeric"],regex:"(`)([^`]+)(`)"},{token:"keyword",regex:"^\\s*[\\-\\*]\\s"},{token:"keyword",regex:"^\\s*\\d+\\.\\s"},{token:"markup.quote",regex:"^>.*$"},{token:"constant",regex:"^(\\*\\*\\*|---|___)$"},{token:"meta.tag",regex:/<(?=[a-zA-Z])/,next:"html-tag-open"},{token:"meta.tag",regex:/<\/(?=[a-zA-Z])/,next:"html-tag-close"}],codeblock:[{token:"support.function",regex:"^```$",next:"start"},{token:"string.quoted",regex:".+"},{defaultToken:"string.quoted"}],"codeblock-js":[{token:"support.function",regex:/^```$/,next:"start"},{token:"source.js",regex:/.+/},{defaultToken:"source.js"}],ejs:[{token:"constant.language",regex:/%>/,next:"start"},{token:"comment.line.double-slash",regex:/\/\/.*$/},{token:"comment.start",regex:/\/\*/,next:"ejs_comment"},{token:"string.quoted.single",regex:/'(?:\\.|[^'])*'/},{token:"string.quoted.double",regex:/"(?:\\.|[^"])*"/},{token:"string.quoted.template",regex:/`(?:\\.|[^`])*`/},{token:"constant.numeric",regex:/\b\d+(?:\.\d+)?\b/},{token:"keyword",regex:/\b(?:if|else|for|while|function|return|let|const|var|new|switch|case|break|continue|in|of|try|catch|finally|throw|class|extends|super|import|from|export|default|this|await|async|yield)\b/},{token:"constant.language",regex:/\b(?:true|false|null|undefined)\b/},{token:"keyword.operator",regex:/[+\-*\/%=!<>|&^~]+/},{token:"paren.lparen",regex:/[({\[]/},{token:"paren.rparen",regex:/[)}\]]/},{token:"punctuation.operator",regex:/[;,.:]/},{token:["punctuation.operator","entity.name.function"],regex:/(\.)([A-Za-z_$][A-Za-z0-9_$]*)(?=\s*\()/},{token:"entity.name.function",regex:/\b(?!if|for|while|switch|catch|function|return|class|new|else|try|finally|throw|import|export|default|await|async|super|this)[A-Za-z_$][A-Za-z0-9_$]*(?=\s*\()/},{token:"identifier",regex:/[A-Za-z_$][A-Za-z0-9_$]*/},{token:"text",regex:/\s+/},{defaultToken:"source.js"}],ejs_comment:[{token:"comment.end",regex:/\*\//,next:"ejs"},{token:"comment.block",regex:/.+/},{defaultToken:"comment.block"}],"html-tag-open":[{token:"constant.language",regex:/<%[\-=~]?/,next:"html-tag-ejs"},{token:"entity.name.tag",regex:/[a-zA-Z0-9_\-:]+/,next:"html-tag-attributes"}],"html-tag-close":[{token:"entity.name.tag",regex:/[a-zA-Z0-9_\-:]+/},{token:"meta.tag",regex:/>/,next:"start"}],"html-tag-attributes":[{token:"constant.language",regex:/<%[\-=~]?/,next:"html-tag-ejs"},{token:"meta.tag",regex:/\/?>/,next:"start"},{token:"entity.other.attribute-name",regex:/[a-zA-Z0-9_\-:]+/},{token:"keyword.operator",regex:/=/},{token:"string.quoted.double",regex:/"/,next:"html-attr-value-double"},{token:"string.quoted.single",regex:/'/,next:"html-attr-value-single"},{token:"text",regex:/\s+/}],"html-attr-value-double":[{token:"constant.language",regex:/<%[\-=~]?/,next:"html-attr-value-ejs-double"},{token:"string.quoted.double",regex:/"/,next:"html-tag-attributes"},{token:"string.quoted.double",regex:/[^"<%]+/},{defaultToken:"string.quoted.double"}],"html-attr-value-single":[{token:"constant.language",regex:/<%[\-=~]?/,next:"html-attr-value-ejs-single"},{token:"string.quoted.single",regex:/'/,next:"html-tag-attributes"},{token:"string.quoted.single",regex:/[^'<%]+/},{defaultToken:"string.quoted.single"}],"html-attr-value-ejs-double":[{token:"constant.language",regex:/%>/,next:"html-attr-value-double"},{token:"comment.line.double-slash",regex:/\/\/.*$/},{token:"string.quoted.single",regex:/'(?:\\.|[^'])*'/},{token:"string.quoted.double",regex:/"(?:\\.|[^"])*"/},{token:"constant.numeric",regex:/\b\d+(?:\.\d+)?\b/},{token:"keyword",regex:/\b(?:if|else|for|while|function|return|let|const|var|new|switch|case|break|continue|in|of|try|catch|finally|throw|class|extends|super|import|from|export|default|this|await|async|yield)\b/},{token:"constant.language",regex:/\b(?:true|false|null|undefined)\b/},{token:"keyword.operator",regex:/[+\-*\/%=!<>|&^~]+/},{token:"paren.lparen",regex:/[({\[]/},{token:"paren.rparen",regex:/[)}\]]/},{token:"punctuation.operator",regex:/[;,.:]/},{token:["punctuation.operator","entity.name.function"],regex:/(\.)([A-Za-z_$][A-Za-z0-9_$]*)(?=\s*\()/},{token:"entity.name.function",regex:/\b(?!if|for|while|switch|catch|function|return|class|new|else|try|finally|throw|import|export|default|await|async|super|this)[A-Za-z_$][A-Za-z0-9_$]*(?=\s*\()/},{token:"identifier",regex:/[A-Za-z_$][A-Za-z0-9_$]*/},{token:"text",regex:/\s+/},{defaultToken:"source.js"}],"html-attr-value-ejs-single":[{token:"constant.language",regex:/%>/,next:"html-attr-value-single"},{token:"comment.line.double-slash",regex:/\/\/.*$/},{token:"string.quoted.single",regex:/'(?:\\.|[^'])*'/},{token:"string.quoted.double",regex:/"(?:\\.|[^"])*"/},{token:"constant.numeric",regex:/\b\d+(?:\.\d+)?\b/},{token:"keyword",regex:/\b(?:if|else|for|while|function|return|let|const|var|new|switch|case|break|continue|in|of|try|catch|finally|throw|class|extends|super|import|from|export|default|this|await|async|yield)\b/},{token:"constant.language",regex:/\b(?:true|false|null|undefined)\b/},{token:"keyword.operator",regex:/[+\-*\/%=!<>|&^~]+/},{token:"paren.lparen",regex:/[({\[]/},{token:"paren.rparen",regex:/[)}\]]/},{token:"punctuation.operator",regex:/[;,.:]/},{token:["punctuation.operator","entity.name.function"],regex:/(\.)([A-Za-z_$][A-Za-z0-9_$]*)(?=\s*\()/},{token:"entity.name.function",regex:/\b(?!if|for|while|switch|catch|function|return|class|new|else|try|finally|throw|import|export|default|await|async|super|this)[A-Za-z_$][A-Za-z0-9_$]*(?=\s*\()/},{token:"identifier",regex:/[A-Za-z_$][A-Za-z0-9_$]*/},{token:"text",regex:/\s+/},{defaultToken:"source.js"}],"html-tag-ejs":[{token:"constant.language",regex:/%>/,next:"html-tag-attributes"},{token:"comment.line.double-slash",regex:/\/\/.*$/},{token:"string.quoted.single",regex:/'(?:\\.|[^'])*'/},{token:"string.quoted.double",regex:/"(?:\\.|[^"])*"/},{token:"constant.numeric",regex:/\b\d+(?:\.\d+)?\b/},{token:"keyword",regex:/\b(?:if|else|for|while|function|return|let|const|var|new|switch|case|break|continue|in|of|try|catch|finally|throw|class|extends|super|import|from|export|default|this|await|async|yield)\b/},{token:"constant.language",regex:/\b(?:true|false|null|undefined)\b/},{token:"keyword.operator",regex:/[+\-*\/%=!<>|&^~]+/},{token:"paren.lparen",regex:/[({\[]/},{token:"paren.rparen",regex:/[)}\]]/},{token:"punctuation.operator",regex:/[;,.:]/},{token:["punctuation.operator","entity.name.function"],regex:/(\.)([A-Za-z_$][A-Za-z0-9_$]*)(?=\s*\()/},{token:"entity.name.function",regex:/\b(?!if|for|while|switch|catch|function|return|class|new|else|try|finally|throw|import|export|default|await|async|super|this)[A-Za-z_$][A-Za-z0-9_$]*(?=\s*\()/},{token:"identifier",regex:/[A-Za-z_$][A-Za-z0-9_$]*/},{token:"text",regex:/\s+/},{defaultToken:"source.js"}]}};$.inherits(s,d);let a=function(){this.HighlightRules=s};$.inherits(a,w),function(){this.$id="ace/mode/markdown_simple"}.call(a.prototype),R.Mode=a})}function Oe(g){g.commands.addCommand({name:"indentSelection",bindKey:{win:"Ctrl-]",mac:"Cmd-]"},exec:function(y){y.blockIndent()},readOnly:!1}),g.commands.addCommand({name:"outdentSelection",bindKey:{win:"Ctrl-[",mac:"Cmd-["},exec:function(y){y.blockOutdent()},readOnly:!1})}function ft(g,y){g.commands.addCommand({name:"saveDocument",bindKey:{win:"Ctrl-S",mac:"Cmd-S"},exec:function(){y()},readOnly:!1})}function gt(g){g.on("click",function(y){if(!y.domEvent.metaKey&&!y.domEvent.ctrlKey)return;let R=y.getDocumentPosition(),$=g.session;if(!$.getTokenAt(R.row,R.column))return;let d=$.getLine(R.row),s=dt(d,R.column);s&&(y.stop(),y.preventDefault(),window.open(s,"_blank","noopener,noreferrer"))}),g.on("mousemove",function(y){if(!g.renderer)return;if(!y.domEvent.metaKey&&!y.domEvent.ctrlKey){g.renderer.container.style.cursor="";return}let R=y.getDocumentPosition(),w=g.session.getLine(R.row);dt(w,R.column)?g.renderer.container.style.cursor="pointer":g.renderer.container.style.cursor=""}),g.on("keyup",function(){g.renderer&&(g.renderer.container.style.cursor="")})}function dt(g,y){let R=/!?\[([^\]]*)\]\(([^)]+)\)/g,$;for(;($=R.exec(g))!==null;){let d=$[0].startsWith("!"),s=$[1],a=$[2],o=$.index,i=o+(d?1:0)+1+s.length+2,n=i+a.length;if(y>=i&&y<=n)return a.trim();let t=o+(d?2:1),e=t+s.length;if(y>=t&&y<=e)return a.trim()}let w=/(https?:\/\/[^\s<>"{}|\\^`\[\]]+)/g;for(;($=w.exec(g))!==null;){let d=$.index,s=d+$[0].length;if(y>=d&&y<=s)return $[0]}return null}function zt(g){let{storePath:y,editor:R,textarea:$,detectMode:w,onChange:d,binder:s}=g;return s.bind(y,R,{read:o=>o.getValue(),writeOnStoreChange:!1,write:(o,i)=>{let n=o,t=i||"";if(n.getValue()===t)return;let r=n.getCursorPosition(),l=n.session.getScrollTop();n.setValue(t,-1),n.moveCursorToPosition(r),n.session.setScrollTop(l),n.clearSelection(),n.renderer&&(n.renderer.updateFull(!0),n.renderer.onResize(!0)),n.resize(!0),$&&($.value=t)},event:"change",onChange:o=>{$&&($.value=o),w&&R.session.setMode(w(o)),d&&d(o)}})}function pt(g){let y=g.trim();return y&&/^[^{["'\n]*:\s*[^"'\n]/m.test(y)&&!y.startsWith("{")&&!y.startsWith("[")?"ace/mode/yaml":"ace/mode/json"}async function Pt(g,y,R={}){let $=await new Promise(a=>{if(typeof window.ace<"u")a(window.ace);else{let o=setInterval(()=>{typeof window.ace<"u"&&(clearInterval(o),a(window.ace))},100)}});De($),ht($);let w=$.edit(g),d=R.theme||"ace/theme/monokai_custom",s=R.mode||"ace/mode/markdown_simple";return w.setTheme(d),w.session.setMode(s),w.setValue(y||"",-1),w.setOptions({wrap:R.wrap!==void 0?R.wrap:!0,fontSize:R.fontSize||14,showPrintMargin:R.showPrintMargin!==void 0?R.showPrintMargin:!1,tabSize:2,useSoftTabs:!0}),gt(w),Oe(w),w}function Se(g,y,R){De(window.ace);let $=window.ace.edit(g);return $.setTheme("ace/theme/monokai_custom"),$.session.setMode(R),$.setValue(y,-1),$.setOptions({wrap:!0,fontSize:14}),Oe($),$}async function jt(g){let{panels:y,textareas:R,draft:$,onSave:w}=g,d=await Pt(y.contentEditorPanel.id||"content-editor-panel",$.store.get("content")||"",{theme:"ace/theme/monokai_custom",mode:"ace/mode/markdown_simple",wrap:!0,fontSize:14,showPrintMargin:!1}),s=Se(y.dataEditorPanel,$.store.get("data")||"{}",pt($.store.get("data")||"{}")),a=Se(y.styleEditorPanel,$.store.get("style")||"","ace/mode/css"),o=Se(y.scriptEditorPanel,$.store.get("script")||"","ace/mode/javascript"),i=Se(y.serverEditorPanel,$.store.get("server")||"","ace/mode/javascript");return[d,s,a,o,i].forEach(t=>{ft(t,w)}),[{storePath:"content",editor:d,textarea:R.contentTextarea},{storePath:"data",editor:s,textarea:R.dataTextarea,detectMode:pt},{storePath:"style",editor:a,textarea:R.styleTextarea},{storePath:"script",editor:o,textarea:R.scriptTextarea},{storePath:"server",editor:i,textarea:R.serverTextarea}].forEach(t=>{zt({...t,binder:$.binder,store:$.store})}),{content:d,data:s,style:a,script:o,server:i}}var mt={init:jt};function vt(g){let y={content:"content",data:"data",style:"style",script:"script",server:"server",settings:"settings"};for(let[R,$]of Object.entries(g)){let w=document.querySelector(`[data-tab="${y[R]}"]`);w&&(w.textContent=$)}}function Ut(g,y){let R=document.querySelector(`[data-tab="${g}"]`);R&&(R.classList.remove("has-draft","is-empty","has-content"),y.hasDraft&&R.classList.add("has-draft"),y.isEmpty?R.classList.add("is-empty"):R.classList.add("has-content"))}function Vt(g,y,R){let $=g[0]?.parentElement;function w(s){let a=s.getAttribute("data-tab");if(g.forEach(i=>{i.classList.remove("active"),i.setAttribute("aria-selected","false"),i.tabIndex=-1}),y.forEach(i=>i.classList.remove("active")),s.classList.add("active"),s.setAttribute("aria-selected","true"),s.tabIndex=0,document.querySelector(`[data-tab-content="${a}"]`)?.classList.add("active"),R&&a&&a in R){let i=R[a];i.renderer&&(i.renderer.updateFull(!0),i.renderer.onResize(!0)),i.resize(!0)}window.location.hash=a||""}g.forEach(s=>{s.addEventListener("click",()=>w(s))}),$&&$.addEventListener("keydown",s=>{let a=s,o=Array.from(g),i=o.indexOf(document.activeElement);if(i===-1)return;let n=null;a.key==="ArrowRight"?n=(i+1)%o.length:a.key==="ArrowLeft"?n=(i-1+o.length)%o.length:a.key==="Home"?n=0:a.key==="End"&&(n=o.length-1),n!==null&&(a.preventDefault(),o[n].focus(),w(o[n]))});let d=window.location.hash.slice(1);if(d&&["content","data","style","script","server","settings"].includes(d)){g.forEach(o=>{o.classList.remove("active"),o.setAttribute("aria-selected","false"),o.tabIndex=-1}),y.forEach(o=>o.classList.remove("active"));let s=document.querySelector(`[data-tab="${d}"]`),a=document.querySelector(`[data-tab-content="${d}"]`);s&&a&&(s.classList.add("active"),s.setAttribute("aria-selected","true"),s.tabIndex=0,a.classList.add("active"))}}function Gt(g){let{initialTabs:y,editors:R,filenames:$}=g,w=["content","data","style","script","server"];function d(o){w.forEach(i=>{let n=o[i]||{hasDraft:!1,isEmpty:!0};Ut(i,n)})}d(y),$&&vt($);let s=document.querySelectorAll(".tab-button"),a=document.querySelectorAll(".tab-content");return Vt(s,a,R),{updateState:o=>{d(o)},updateFilenames:o=>{vt(o)}}}var yt={init:Gt};var Me=null;function Kt(g){let{statusElements:y,message:R,duration:$=2e3}=g;Me&&clearTimeout(Me),y.statusText.textContent=R,y.statusIndicator.classList.add("visible"),Me=setTimeout(()=>{y.statusIndicator.classList.remove("visible"),Me=null},$)}var bt={update:Kt};var ce=null;function Yt(){return ce||(ce=document.createElement("div"),ce.className="toast-container",document.body.appendChild(ce)),ce}function Zt(g,y={}){let{type:R="info",duration:$=5e3}=y,w=Yt(),d=document.createElement("div");d.className=`toast toast-${R}`,d.textContent=g,w.appendChild(d),setTimeout(()=>d.classList.add("show"),10),setTimeout(()=>{d.classList.remove("show"),setTimeout(()=>{w.removeChild(d)},300)},$)}function Qt(g){let{message:y,details:R}=g,$=R?`${y}: ${R}`:y;Zt($,{type:"error",duration:6e3})}var wt={update:Qt};function Xt(g,y){let R=null;return(...$)=>{R&&clearTimeout(R),R=setTimeout(()=>g(...$),y)}}async function xt(g){try{let y=g.trim()?encodeURIComponent(g):"",R=await fetch(`/edit?query=${y}`,{method:"POST"});return R.ok?await R.json():(console.error("Search failed:",R.statusText),[])}catch(y){return console.error("Search error:",y),[]}}function kt(g,y,R){if(g.innerHTML="",y.length===0){g.innerHTML='<div class="dropdown-item no-results">No results found</div>',g.style.display="block";return}y.forEach($=>{let w=document.createElement("div");w.className="dropdown-item",w.innerHTML=`
|
|
1227
|
+
<div class="dropdown-title">${Z($.title)}</div>
|
|
1228
|
+
<div class="dropdown-path">${Z($.path)}</div>
|
|
1229
|
+
`,w.addEventListener("click",()=>{R($),g.style.display="none"}),g.appendChild(w)}),g.style.display="block"}function Jt(g){g.style.display="none"}function Ae(g,y,R,$,w){let d=Xt(async s=>{let a=await xt(s);kt(y,a,R)},50);g.addEventListener("input",()=>{let s=g.value;d(s)}),g.addEventListener("focus",async()=>{if(y.children.length>0)y.style.display="block";else if(!g.value.trim()){let s=await xt("");kt(y,s,R)}}),document.addEventListener("click",s=>{let a=s.target;!g.contains(a)&&!y.contains(a)&&Jt(y),a.matches(`.clear-selection[data-target="${w}"]`)&&$()})}function Ee(g,y,R){let $=document.getElementById(y),w=$?.closest(".form-group");if(!w||!$)return;let d=w.querySelector(".selected-item");if(d&&d.remove(),g){let s=document.createElement("div");s.className="selected-item";let a=`${g.path}/edit`;s.innerHTML=`
|
|
1230
|
+
<a href="${Z(a)}" class="selected-link" target="_blank" title="Edit ${Z(g.path)}">
|
|
1231
|
+
<strong>${Z(g.title||g.path)}</strong>
|
|
1232
|
+
<span class="selected-path">${Z(g.path)}</span>
|
|
1233
|
+
</a>
|
|
1234
|
+
<button type="button" class="clear-selection" data-target="${R}">\u2715</button>
|
|
1235
|
+
`,w.insertBefore(s,$),$.style.display="none",$.value=""}else $.style.display="",$.value=""}function qt(g){Ee(g,"slot-search","slot")}var Le={init:g=>Ae(g.slotElements.slotSearch,g.slotElements.slotDropdown,g.onSelect,g.onClear,"slot"),update:g=>qt(g.slot)};function en(g){Ee(g,"template-search","template")}var Te={init:g=>Ae(g.templateElements.templateSearch,g.templateElements.templateDropdown,g.onSelect,g.onClear,"template"),update:g=>en(g.template)};function $t(g){let y=g.created_at?new Date(g.created_at).toLocaleDateString():new Date().toLocaleDateString();return`
|
|
1236
|
+
<td class="redirect-path">${Z(g.path)}</td>
|
|
1237
|
+
<td class="redirect-date">${y}</td>
|
|
1238
|
+
<td class="redirect-actions">
|
|
1239
|
+
<button
|
|
1240
|
+
type="button"
|
|
1241
|
+
class="icon-btn delete-redirect-btn"
|
|
1242
|
+
data-path="${Z(g.path)}"
|
|
1243
|
+
title="Delete redirect"
|
|
1244
|
+
aria-label="Delete redirect ${Z(g.path)}"
|
|
1245
|
+
>
|
|
1246
|
+
\u{1F5D1}\uFE0F
|
|
1247
|
+
</button>
|
|
1248
|
+
</td>
|
|
1249
|
+
`}async function tn(g,y){let R=te(g),$=await fetch(`${R}?redirect=${encodeURIComponent(y)}`,{method:"DELETE"});if(!$.ok){let w=await $.text();throw new Error(`Error deleting redirect: ${w}`)}}async function nn(g,y){let R=te(g),$=await fetch(`${R}?redirect=true`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({redirect:y})});if(!$.ok){let w=await $.text();throw new Error(`Error adding redirect: ${w}`)}return $.json()}function rn(g){let{documentPath:y}=g,R=document.querySelector(".redirects-table");if(!R)return;let $=document.getElementById("add-redirect-btn"),w=document.getElementById("redirect-path-input");$&&w&&($.addEventListener("click",async()=>{let d=w.value.trim();if(!d){alert("Please enter a path to redirect from");return}if(!d.startsWith("/")){alert("Redirect path must start with /");return}try{let s=await nn(y,d),a=R?.querySelector("tbody");if(a){$e(a,".no-redirects");let o=document.createElement("tr");o.innerHTML=$t({path:d,id:s.redirect?.id}),a.appendChild(o)}w.value=""}catch(s){console.error("Add redirect error:",s),alert(`Failed to add redirect: ${s instanceof Error?s.message:"Unknown error"}`)}}),w.addEventListener("keydown",d=>{d.key==="Enter"&&(d.preventDefault(),$.click())})),R.addEventListener("click",async d=>{let s=d.target;if(s.classList.contains("delete-redirect-btn")){let a=s.closest("tr");if(!a)return;let o=a.querySelector(".redirect-path");if(!o)return;let i=o.textContent?.trim();if(!i||!confirm(`Are you sure you want to delete the redirect from "${i}"? This action cannot be undone.`))return;try{await tn(y,i),a.remove();let n=R.querySelector("tbody");n&&n.children.length===0&&window.location.reload()}catch(n){alert(n.message),console.error(n)}}})}function on(g){let{redirects:y}=g,R=document.querySelector(".redirects-table");if(!R)return;let $=R.querySelector("tbody");if($){if($.innerHTML="",y.length===0){$.innerHTML='<tr><td colspan="3" class="no-redirects">No redirects yet</td></tr>';return}y.forEach(w=>{let d=document.createElement("tr");d.innerHTML=$t(w),$.appendChild(d)})}}var Fe={init:rn,update:on};function St(g){let y=g.created_at?new Date(g.created_at).toLocaleDateString():new Date().toLocaleDateString(),R=g.hidden||!1;return`
|
|
1250
|
+
<td>
|
|
1251
|
+
<a
|
|
1252
|
+
href="${Z(g.url||"")}${R?"?reveal":""}"
|
|
1253
|
+
target="_blank"
|
|
1254
|
+
class="filename-link"
|
|
1255
|
+
title="View ${Z(g.original_filename)}"
|
|
1256
|
+
>${Z(g.original_filename)}</a>
|
|
1257
|
+
<input
|
|
1258
|
+
type="text"
|
|
1259
|
+
class="filename-input"
|
|
1260
|
+
value="${Z(g.original_filename)}"
|
|
1261
|
+
data-upload-id="${g.id||""}"
|
|
1262
|
+
style="display: none;"
|
|
1263
|
+
/>
|
|
1264
|
+
</td>
|
|
1265
|
+
<td class="upload-date">${y}</td>
|
|
1266
|
+
<td class="upload-actions">
|
|
1267
|
+
<label class="hidden-toggle" title="${R?"Hidden from public":"Visible to public"}">
|
|
1268
|
+
<input
|
|
1269
|
+
type="checkbox"
|
|
1270
|
+
class="hidden-checkbox"
|
|
1271
|
+
data-upload-id="${g.id||""}"
|
|
1272
|
+
aria-label="Toggle visibility for ${Z(g.original_filename)}"
|
|
1273
|
+
${R?"checked":""}
|
|
1274
|
+
/>
|
|
1275
|
+
|
|
1276
|
+
</label>
|
|
1277
|
+
<button
|
|
1278
|
+
type="button"
|
|
1279
|
+
class="icon-btn rename-upload-btn"
|
|
1280
|
+
data-upload-id="${g.id||""}"
|
|
1281
|
+
data-filename="${Z(g.original_filename)}"
|
|
1282
|
+
title="Rename upload"
|
|
1283
|
+
aria-label="Rename ${Z(g.original_filename)}"
|
|
1284
|
+
>
|
|
1285
|
+
\u270F\uFE0F
|
|
1286
|
+
</button>
|
|
1287
|
+
<button
|
|
1288
|
+
type="button"
|
|
1289
|
+
class="icon-btn delete-upload-btn"
|
|
1290
|
+
data-filename="${Z(g.original_filename)}"
|
|
1291
|
+
title="Delete upload"
|
|
1292
|
+
aria-label="Delete ${Z(g.original_filename)}"
|
|
1293
|
+
>
|
|
1294
|
+
\u2715
|
|
1295
|
+
</button>
|
|
1296
|
+
</td>
|
|
1297
|
+
`}async function sn(g,y){let R=te(g),$=await fetch(`${R}?upload=${encodeURIComponent(y)}`,{method:"DELETE"});if(!$.ok){let w=await $.text();throw new Error(`Error deleting file: ${w}`)}}async function Ct(g,y,R){let $=te(g),w=await fetch(`${$}?uploadId=${y}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(R)});if(!w.ok){let d=await w.text();throw new Error(`Error updating file: ${d}`)}return w.json()}function an(g){let{documentPath:y}=g,R=document.querySelector(".uploads-table");if(!R)return;let $=document.getElementById("upload-file-btn"),w=document.getElementById("file-upload-input");$&&w&&($.addEventListener("click",()=>{w.click()}),w.addEventListener("change",async d=>{let s=d.target.files;if(!s||s.length===0)return;let o=`${te(y)}?upload=true`;for(let i of Array.from(s)){let n=new FormData;n.append("file",i);try{let t=await fetch(o,{method:"POST",body:n});if(t.ok){let e=await t.json(),r=R?.querySelector("tbody");if(r){$e(r,".no-uploads");let l=document.createElement("tr");l.innerHTML=St(e),r.appendChild(l)}}else{let e=await t.text();alert(`Upload failed: ${e}`)}}catch(t){console.error("Upload error:",t),alert(`Upload failed: ${t instanceof Error?t.message:"Unknown error"}`)}}w.value=""})),R.addEventListener("click",async d=>{let s=d.target;if(s.classList.contains("delete-upload-btn")){let a=s.dataset.filename;if(!a||!confirm(`Are you sure you want to delete "${a}"? This action cannot be undone.`))return;try{await sn(y,a);let o=s.closest("tr");o&&o.remove();let i=R.querySelector("tbody");i&&i.children.length===0&&window.location.reload()}catch(o){alert(o.message),console.error(o)}}if(s.classList.contains("rename-upload-btn")){let a=s.closest("tr");if(!a)return;let o=a.querySelector(".filename-link"),i=a.querySelector(".filename-input");o&&i&&(o.style.display="none",i.style.display="inline-block",i.focus(),i.select())}}),R.addEventListener("change",async d=>{let s=d.target;if(s.classList.contains("hidden-checkbox")){let a=s,o=a.dataset.uploadId;if(!o)return;let i=a.closest("tr");try{let n=await Ct(y,parseInt(o,10),{hidden:a.checked});i&&(n.hidden?i.classList.add("upload-hidden"):i.classList.remove("upload-hidden"));let t=i?.querySelector(".filename-link"),e=i?.querySelector(".filename-input"),r=i?.querySelector(".delete-upload-btn");t&&n.original_filename&&(t.textContent=n.original_filename,t.href=n.url+(n.hidden?"?reveal":"")),e&&n.original_filename&&(e.value=n.original_filename),r&&n.original_filename&&(r.dataset.filename=n.original_filename)}catch(n){a.checked=!a.checked,alert(n.message),console.error(n)}}}),R.addEventListener("blur",async d=>{let s=d.target;if(!s.classList.contains("filename-input"))return;let a=s,o=a.closest("tr"),i=o?.querySelector(".filename-link"),n=a.dataset.uploadId;if(!i||!n){a.style.display="none",i&&(i.style.display="inline");return}let t=i.textContent||"",e=a.value.trim();if(e===t||!e){a.style.display="none",i.style.display="inline",a.value=t;return}try{let r=await Ct(y,parseInt(n,10),{original_filename:e});i.textContent=r.original_filename,i.href=r.url+(r.hidden?"?reveal":""),a.value=r.original_filename;let l=o?.querySelector(".delete-upload-btn"),c=o?.querySelector(".rename-upload-btn"),u=o?.querySelector(".hidden-checkbox");l&&(l.dataset.filename=r.original_filename),c&&(c.dataset.filename=r.original_filename),u&&(u.checked=r.hidden),r.hidden?o?.classList.add("upload-hidden"):o?.classList.remove("upload-hidden")}catch(r){alert(r.message),console.error(r),a.value=t}a.style.display="none",i.style.display="inline"},!0),R.addEventListener("keydown",d=>{let s=d.target;if(!s.classList.contains("filename-input"))return;let a=s;if(d.key==="Enter")d.preventDefault(),a.blur();else if(d.key==="Escape"){d.preventDefault();let i=a.closest("tr")?.querySelector(".filename-link");i&&(a.value=i.textContent||"",a.style.display="none",i.style.display="inline")}})}function ln(g){let{uploads:y,documentPath:R}=g,$=document.querySelector(".uploads-table");if(!$)return;let w=$.querySelector("tbody");if(w){if(w.innerHTML="",y.length===0){w.innerHTML='<tr><td colspan="3" class="no-uploads">No uploads yet</td></tr>';return}y.forEach(d=>{let s=document.createElement("tr");d.hidden&&s.classList.add("upload-hidden");let a=R==="/"?`/uploads/${encodeURIComponent(d.original_filename)}`:`${R}/uploads/${encodeURIComponent(d.original_filename)}`;s.innerHTML=St({...d,url:a}),w.appendChild(s)})}}var Ne={init:an,update:ln};async function cn(g){let{file:y,documentPath:R}=g,$=new FormData;$.append("file",y);let w=await fetch(`${te(R)}?upload=true`,{method:"POST",body:$,credentials:"include"});if(!w.ok)throw new Error("Upload failed: "+await w.text());return(await w.json()).url}function un(g){return g.type.startsWith("image/")}async function Mt(g,y,R,$){if(g.length===0)return"";let w="";for(let d of g)try{let s=await cn({file:d,documentPath:y}),a=un(d);w+=hn(s,d.name||"file",$,R,a)}catch(s){console.error("Upload error:",s)}return w}function hn(g,y,R,$,w){switch(R){case"content":return w?$()?`<img src="${g}" alt="${y}" />
|
|
1298
|
+
`:`
|
|
1299
|
+
`:$()?`<a href="${g}">${y}</a>
|
|
1300
|
+
`:`[${y}](${g})
|
|
1301
|
+
`;case"data":return`${g}
|
|
1302
|
+
`;case"style":return w?`/* image */ url(${g});
|
|
1303
|
+
`:`/* file */ '${g}';
|
|
1304
|
+
`;case"script":return`'${g}';
|
|
1305
|
+
`;default:return`${g}
|
|
1306
|
+
`}}function ue(g,y,R,$,w,d){!g||!y||(g.addEventListener("dragover",s=>{s.preventDefault(),g.classList.add("drag-over")},{passive:!1}),g.addEventListener("dragleave",s=>{s.preventDefault(),g.classList.remove("drag-over")},{passive:!1}),g.addEventListener("drop",async s=>{s.preventDefault(),g.classList.remove("drag-over");let a=Array.from(s.dataTransfer?.files||[]),o=await Mt(a,$,w,R);o&&(y.insert(o),d&&d())},{passive:!1}),g.addEventListener("paste",async s=>{let o=Array.from(s.clipboardData?.items||[]).map(n=>n.getAsFile()).filter(n=>n!==null);if(!o.length)return;s.preventDefault();let i=await Mt(o,$,w,R);i&&(y.insert(i),d&&d())},{passive:!1}))}function dn(g){let{panels:y,editors:R,documentPath:$,isHtml:w,onUploadComplete:d}=g;ue(y.contentEditorPanel,R.content,"content",$,w,d),ue(y.dataEditorPanel,R.data,"data",$,w,d),ue(y.styleEditorPanel,R.style,"style",$,w,d),ue(y.scriptEditorPanel,R.script,"script",$,w,d),ue(y.serverEditorPanel,R.server,"script",$,w,d);let s=document.querySelector(".settings-panel");s&&(s.addEventListener("dragover",a=>{a.preventDefault(),s.classList.add("drag-over")},{passive:!1}),s.addEventListener("dragleave",a=>{a.preventDefault(),s.classList.remove("drag-over")},{passive:!1}),s.addEventListener("drop",async a=>{a.preventDefault(),s.classList.remove("drag-over");let o=Array.from(a.dataTransfer?.files||[]);if(o.length===0)return;let i=document.querySelector(".uploads-table");for(let n of o){let t=new FormData;t.append("file",n);try{let e=await fetch(`${te($)}?upload=true`,{method:"POST",body:t});if(e.ok){let r=await e.json(),l=i?.querySelector("tbody");if(l){let c=l.querySelector(".no-uploads");c&&c.closest("tr")?.remove();let u=document.createElement("tr"),f=new Date().toLocaleDateString();u.innerHTML=`
|
|
1307
|
+
<td>
|
|
1308
|
+
<span class="filename-display">${Z(r.original_filename)}</span>
|
|
1309
|
+
<input
|
|
1310
|
+
type="text"
|
|
1311
|
+
class="filename-input"
|
|
1312
|
+
value="${Z(r.original_filename)}"
|
|
1313
|
+
style="display: none;"
|
|
1314
|
+
/>
|
|
1315
|
+
</td>
|
|
1316
|
+
<td class="upload-date">${f}</td>
|
|
1317
|
+
<td class="upload-actions">
|
|
1318
|
+
<a
|
|
1319
|
+
href="${Z(r.url)}"
|
|
1320
|
+
target="_blank"
|
|
1321
|
+
class="icon-btn view-upload-btn"
|
|
1322
|
+
title="View upload"
|
|
1323
|
+
>
|
|
1324
|
+
\u{1F441}\uFE0F
|
|
1325
|
+
</a>
|
|
1326
|
+
<button
|
|
1327
|
+
type="button"
|
|
1328
|
+
class="icon-btn delete-upload-btn"
|
|
1329
|
+
data-filename="${Z(r.original_filename)}"
|
|
1330
|
+
title="Delete upload"
|
|
1331
|
+
>
|
|
1332
|
+
\u{1F5D1}\uFE0F
|
|
1333
|
+
</button>
|
|
1334
|
+
</td>
|
|
1335
|
+
`,l.appendChild(u)}d()}else{let r=await e.text();alert(`Upload failed: ${r}`)}}catch(e){console.error("Upload error:",e),alert(`Upload failed: ${e instanceof Error?e.message:"Unknown error"}`)}}},{passive:!1}))}var At={init:dn};var Lt="editor-split-position";function Be(g,y){g.style.width=`${y}%`}function Et(g){try{localStorage.setItem(Lt,g.toString())}catch(y){console.warn("Failed to save split position to localStorage:",y)}}function fn(){try{let g=localStorage.getItem(Lt);if(g){let y=parseFloat(g);if(!isNaN(y)&&y>=10&&y<=90)return y}}catch(g){console.warn("Failed to load split position from localStorage:",g)}return 50}function gn(){let g=document.getElementById("resizer"),y=document.getElementById("content-editor-panel"),R=document.querySelector(".preview-panel");if(!g||!y||!R)return;let $=fn();Be(y,$);let w=!1,d=0,s=0,a=null,o=()=>{a=document.createElement("div"),a.style.cssText=`
|
|
1336
|
+
position: fixed;
|
|
1337
|
+
top: 0;
|
|
1338
|
+
left: 0;
|
|
1339
|
+
right: 0;
|
|
1340
|
+
bottom: 0;
|
|
1341
|
+
z-index: 99999;
|
|
1342
|
+
cursor: col-resize;
|
|
1343
|
+
`,document.body.appendChild(a)},i=()=>{a&&a.parentNode&&(a.parentNode.removeChild(a),a=null)},n=u=>{w=!0,d=u.clientX,s=y.offsetWidth,o(),document.body.style.cursor="col-resize",document.body.style.userSelect="none",g.style.background="#4caf50",u.preventDefault(),u.stopPropagation()},t=u=>{if(!w)return;let f=y.parentElement;if(!f)return;let p=f.offsetWidth,b=u.clientX-d,v=(s+b)/p*100,A=Math.max(10,Math.min(90,v));Be(y,A),u.preventDefault()},e=u=>{if(!w)return;w=!1,i(),document.body.style.cursor="",document.body.style.userSelect="",g.style.background="";let f=y.parentElement;if(f){let p=y.offsetWidth/f.offsetWidth*100;Et(p)}u.preventDefault()},r=u=>{u.touches.length===1&&(w=!0,d=u.touches[0].clientX,s=y.offsetWidth,document.body.style.userSelect="none",g.style.background="#4caf50",u.preventDefault())},l=u=>{if(!w||u.touches.length!==1)return;let f=y.parentElement;if(!f)return;let p=f.offsetWidth,b=u.touches[0].clientX-d,v=(s+b)/p*100,A=Math.max(10,Math.min(90,v));Be(y,A),u.preventDefault()},c=()=>{if(!w)return;w=!1,document.body.style.userSelect="",g.style.background="";let u=y.parentElement;if(u){let f=y.offsetWidth/u.offsetWidth*100;Et(f)}};return g.addEventListener("mousedown",n,!0),document.addEventListener("mousemove",t,!0),document.addEventListener("mouseup",e,!0),g.addEventListener("touchstart",r,{passive:!1}),document.addEventListener("touchmove",l,{passive:!1}),document.addEventListener("touchend",c),()=>{g.removeEventListener("mousedown",n,!0),document.removeEventListener("mousemove",t,!0),document.removeEventListener("mouseup",e,!0),g.removeEventListener("touchstart",r),document.removeEventListener("touchmove",l),document.removeEventListener("touchend",c),i()}}var Tt={init:gn};async function _t(){let g=ct(),y=tt(),R=nt(),$=it(),w=rt(),d=ot(),s=st(),a=xe(g),o=we(a.draft),i=we(a.save),n=we({...a.meta,status:null,toast:null});n.store.watch("status",p=>{let b=p;b&&(bt.update({statusElements:d,message:b.message,duration:b.duration}),setTimeout(()=>n.store.set("status",null),0))}),n.store.watch("toast",p=>{let b=p;b&&(wt.update({message:b.message,details:b.details}),setTimeout(()=>n.store.set("toast",null),0))});let t=new Ce({meta:n,draft:o,save:i});i.binder.bind("path","#slug"),o.binder.bind("title","#title-input"),o.binder.bind("mime_type","#mime-type-input",{onBlur:async()=>{await t.draft()}}),o.binder.bind("extension","#extension-input",{onBlur:async()=>{await t.draft()}}),o.binder.bind("template_id","#template-id"),o.binder.bind("slot_id","#slot-id"),i.binder.bind("published","#publish-btn",{read:p=>p.getAttribute("data-published")==="true",write:(p,b)=>{let k=p;k.textContent=b?"Unpublish":"Publish",k.setAttribute("data-published",String(b)),k.setAttribute("aria-label",b?"Document is public. Click to unpublish":"Document is hidden. Click to publish")},event:"click",onClick:async p=>{p?.preventDefault(),await t.publish()}}),n.binder.bind("saveDisabled","#save-btn",{read:p=>p.disabled,write:(p,b)=>{p.disabled=b},onClick:async(p,b)=>{b||await t.save()}}),n.binder.bind("revertDisabled","#revert-btn",{read:p=>p.disabled,write:(p,b)=>{p.disabled=b},onClick:async(p,b)=>{b||await t.revert()}}),n.binder.bind("disableIfDocumentDoesNotExist","#publish-btn",{read:p=>p.disabled,write:(p,b)=>{p.disabled=b}}),n.binder.bind("disableIfDocumentDoesNotExist",".btn-delete",{read:p=>p.disabled,write:(p,b)=>{p.disabled=b}}),i.store.watch("published",p=>{let b=document.getElementById("view-btn");b&&(b.disabled=!p)}),n.store.watch("currentPath",p=>{let b=window.location.hash;window.history.pushState(null,"",ke(p)+b)});let e=document.getElementById("view-btn");e&&e.addEventListener("click",()=>{if(!i.store.get("published"))return;let b=i.store.get("path");window.open(b,"_blank")});function r(){let p=o.store.isDirty(),b=i.store.isDirty(),k=n.store.get("hasDraft")??!1;n.store.set("revertDisabled",!(p||k)),n.store.set("saveDisabled",!(b||p||k))}o.store.debounce({exclude:["mime_type","extension"]},async()=>{await t.draft(),r()}),o.store.watch(void 0,r),i.store.watch(void 0,r);let l=await mt.init({panels:y,textareas:R,draft:o,onSave:()=>t.draft()}),c=yt.init({initialTabs:a.meta.tabs||{},editors:l,filenames:a.meta.tabFilenames});n.store.watch("template",p=>{let b=p;Te.update({template:b}),b?o.store.set("template_id",b.id):o.store.set("template_id",null)}),n.store.watch("slot",p=>{let b=p;Le.update({slot:b}),b?o.store.set("slot_id",b.id):o.store.set("slot_id",null)}),n.store.watch("uploads",()=>{let p=n.store.get("uploads")||[],b=i.store.get("path")||"";Ne.update({uploads:p,documentPath:b})}),n.store.watch("redirects",()=>{let p=n.store.get("redirects")||[];Fe.update({redirects:p})}),n.store.watch("api",()=>{let p=n.store.get("api")||[],b=document.querySelector(".api-links-list");b&&(b.innerHTML=p.length?p.map(k=>`
|
|
1344
|
+
<div class="api-link-item">
|
|
1345
|
+
<a href="${Z(k)}" target="_blank" rel="noopener noreferrer" title="${Z(k)}" style="display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">${Z(ut(k,60))}</a>
|
|
1346
|
+
</div>
|
|
1347
|
+
`).join(""):'<div class="help-text">No API links until doc exists</div>')}),n.store.watch("tabs",p=>{let b=p;b&&c.updateState(b)}),n.store.watch("tabFilenames",p=>{let b=p;b&&c.updateFilenames(b)});let u=()=>{let p=n.store.get("html");if(s&&p)if((o.store.get("mime_type")||"").startsWith("text/plain")){let k=p.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");s.srcdoc=`<!DOCTYPE html>
|
|
1348
|
+
<html>
|
|
1349
|
+
<head>
|
|
1350
|
+
<style>
|
|
1351
|
+
body {
|
|
1352
|
+
margin: 8px;
|
|
1353
|
+
white-space: pre-wrap;
|
|
1354
|
+
word-wrap: break-word;
|
|
1355
|
+
font-family: monospace;
|
|
1356
|
+
font-size: 13px;
|
|
1357
|
+
line-height: 1.4;
|
|
1358
|
+
}
|
|
1359
|
+
</style>
|
|
1360
|
+
</head>
|
|
1361
|
+
<body>${k}</body>
|
|
1362
|
+
</html>`}else s.srcdoc=p};n.store.watch("html",u),o.store.watch("mime_type",u),Te.init({templateElements:$,onSelect:p=>{n.store.set("template",{id:p.id,title:p.title,path:p.path})},onClear:()=>{n.store.set("template",null)}}),Le.init({slotElements:w,onSelect:p=>{n.store.set("slot",{id:p.id,title:p.title,path:p.path})},onClear:()=>{n.store.set("slot",null)}}),Te.update({template:n.store.get("template")}),Le.update({slot:n.store.get("slot")});let f=g.document.path||"/";Ne.init({documentPath:f}),Fe.init({documentPath:f}),At.init({panels:y,editors:l,documentPath:f,isHtml:()=>n.store.get("content_type")==="html",onUploadComplete:()=>{}}),Tt.init()}_e.default.config.set("useWorker",!1);_e.default.config.set("loadWorkerFromBlob",!1);window.ace=_e.default;document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{_t()}):_t();})();
|
|
1363
|
+
/*! Bundled license information:
|
|
1364
|
+
|
|
1365
|
+
ace-builds/src-noconflict/ace.js:
|
|
1366
|
+
(*
|
|
1367
|
+
* based on code from:
|
|
1368
|
+
*
|
|
1369
|
+
* @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
|
|
1370
|
+
* Available via the MIT or new BSD license.
|
|
1371
|
+
* see: http://github.com/jrburke/requirejs for details
|
|
1372
|
+
*)
|
|
1373
|
+
*/
|