From 615b89c8a5dc92da283faed20936bfc1a0fc3486 Mon Sep 17 00:00:00 2001 From: lifizer <913626195@qq.com> Date: Thu, 27 Mar 2025 18:12:48 +0800 Subject: [PATCH] =?UTF-8?q?Feat(=E4=BA=91=E7=81=B5AI):=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 1 + api/chat/index.js | 9 + api/public.js | 9 +- api/voiceToText/index.js | 11 + assets/css/aiChat.less | 699 ++++ components/aiChat/bottomSend.vue | 268 ++ components/aiChat/entrance.vue | 57 + config/baseSetting.js | 18 + main.js | 2 + mixins/chatMixins.js | 281 ++ pages.json | 8 + pages/aiChat/index.vue | 197 + pages/cloud/cloud.vue | 622 +-- pages/home/index.vue | 5 +- static/images/组 707@2x.png | Bin 0 -> 324011 bytes utils/aiChat.js | 92 + utils/highlight/github-dark.min.css | 10 + utils/highlight/highlight-uni.min.js | 5256 ++++++++++++++++++++++++++ utils/markdown-it.min.js | 2 + utils/request.js | 3 - utils/util.js | 6 +- 21 files changed, 7240 insertions(+), 316 deletions(-) create mode 100644 api/chat/index.js create mode 100644 api/voiceToText/index.js create mode 100644 assets/css/aiChat.less create mode 100644 components/aiChat/bottomSend.vue create mode 100644 components/aiChat/entrance.vue create mode 100644 config/baseSetting.js create mode 100644 mixins/chatMixins.js create mode 100644 pages/aiChat/index.vue create mode 100644 static/images/组 707@2x.png create mode 100644 utils/aiChat.js create mode 100644 utils/highlight/github-dark.min.css create mode 100644 utils/highlight/highlight-uni.min.js create mode 100644 utils/markdown-it.min.js diff --git a/App.vue b/App.vue index 38ef2d8..8b34b93 100644 --- a/App.vue +++ b/App.vue @@ -26,4 +26,5 @@ export default { @import "./assets/css/reset.less"; @import "./assets/css/style.less"; @import "./assets/css/v12-style.less"; +@import "./assets/css/aiChat.less"; diff --git a/api/chat/index.js b/api/chat/index.js new file mode 100644 index 0000000..7bc9e71 --- /dev/null +++ b/api/chat/index.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getSseConfigV1(data) { + return request.post('/v1/chat/sse/message', data, { login: true }) +} + +export function getCompletions(params) { + return request.get('/v1/chat/sse/message', params, { login: true }) +} diff --git a/api/public.js b/api/public.js index d9d233c..05f0582 100644 --- a/api/public.js +++ b/api/public.js @@ -9,7 +9,7 @@ export function getSplashScreen() { * @returns {*} */ export function getHomeData(params) { - return request.get("index", params, { + return request.get("/index", params, { login: false }); } @@ -211,4 +211,9 @@ export function getXiaoZhi() { export function pushSystemStatic(data) { return request.post("/systemStats/push", data, { login: false }) -} \ No newline at end of file +} + +// 获取AI系统设置 +export function getAiSystemInfoSetting() { + return request.get('/ai/systemInfo', {}, { login: false }) +} diff --git a/api/voiceToText/index.js b/api/voiceToText/index.js new file mode 100644 index 0000000..9c2a91b --- /dev/null +++ b/api/voiceToText/index.js @@ -0,0 +1,11 @@ +import { + postAction +} from '@/api/http.js' + +export function makeFileTransTask(data) { + return postAction('/app/voiceToText/makeFileTransTask', data) +} + +export function getFileTransResult(data) { + return postAction('/app/voiceToText/getFileTransResult', data) +} diff --git a/assets/css/aiChat.less b/assets/css/aiChat.less new file mode 100644 index 0000000..259375b --- /dev/null +++ b/assets/css/aiChat.less @@ -0,0 +1,699 @@ +page { + overflow-x: hidden; + overflow-y: auto; +} +.flex-center-between { + display: flex; + align-items: center; + justify-content: space-between; +} +.fix-tabbar-page { + position: relative; + min-height: 100vh; + background-color: #fff; + .fix-tabbar-header { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 99; + display: flex; + align-items: center; + height: 44px; + padding-left: 24rpx; + // background-color: #fff; + transition: all 0.15s; + .my-icon { + .icon { + display: block; + width: 54rpx; + height: 54rpx; + } + } + .tabbar-wrap { + display: flex; + align-items: center; + padding: 0 0 0 20rpx; + .tabbar-item { + position: relative; + margin: 0 0 0 20rpx; + .txt { + position: relative; + z-index: 5; + width: 112rpx; + font-size: 40rpx; + line-height: 48rpx; + color: #707070; + } + .bg { + position: absolute; + z-index: 2; + right: 0; + bottom: -8rpx; + opacity: 0; + .img { + display: block; + width: 112rpx; + height: 26rpx; + } + } + &.curr { + .txt { + color: #333; + font-weight: bold; + font-size: 48rpx; + } + .bg { + opacity: 1; + } + } + } + .new-chat-btn { + .icon { + display: block; + width: 54rpx; + height: 54rpx; + } + } + } + } + .fix-tabbar-body { + position: relative; + z-index: 2; + min-height: 100vh; + box-sizing: border-box; + background: linear-gradient(180deg, #FFF0DC 0%, rgba(255,234,216,0.67) 57%, rgba(255,255,255,0) 100%); + } + .page-to-bottom { + position: fixed; + bottom: 180rpx; + left: 0; + right: 0; + z-index: 8; + display: flex; + align-items: center; + justify-content: center; + .icon { + display: block; + width: 68rpx; + height: 68rpx; + } + } + .fix-page-bottom { + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 9; + padding: 24rpx 24rpx 48rpx 24rpx; + background-color: #fff; + box-shadow: 0rpx -20rpx 30rpx rgba(176,186,206,0.16); + transition: all 0.2s; + &.focus { + transform: translateY(-48rpx); + } + .bottom-body { + position: relative; + z-index: 2; + min-height: 100rpx; + .input-model { + .icon { + display: block; + width: 68rpx; + height: 68rpx; + } + } + .input-wrap { + position: relative; + width: calc(100% - 160rpx); + .inp { + position: relative; + z-index: 5; + width: 100%; + max-height: 50vh; + padding: 15rpx; + margin: 0 24rpx; + border: 0; + box-sizing: border-box; + border-radius: 20rpx; + line-height: 50rpx; + color: #333; + font-size: 30rpx; + overflow-y: auto; + box-shadow: 0rpx 6rpx 20rpx rgba(19,27,65,0.16); + } + .placeholder-txt { + position: absolute; + left: 40rpx; + top: 50%; + z-index: 2; + color: #999; + font-size: 28rpx; + transform: translateY(-50%); + } + } + .send-btn { + .icon { + display: block; + width: 100rpx; + height: 100rpx; + } + } + .sound-input-wrap { + display: flex; + align-items: center; + justify-content: center; + flex: 1; + height: 100rpx; + margin: 0 0 0 24rpx; + border-radius: 40rpx; + color: #fff; + font-size: 30rpx; + background: linear-gradient(360deg, #FA9108 0%, #FFA734 100%); + box-shadow: 0rpx 6rpx 12rpx rgba(0,0,0,0.16); + .icon { + display: block; + width: 40rpx; + height: 40rpx; + margin: 0 12rpx 0 0; + } + } + } + } +} +.has-bg-body { + position: relative; + .bg { + position: absolute; + top: 0; + left: 0; + right: 0; + z-index: 2; + display: block; + width: 100%; + } + .cont { + position: relative; + z-index: 5; + } +} +.page-fff { + .fix-tabbar-header { + background-color: #fff; + } + .fix-tabbar-body { + background: #fff; + } +} +.page-scroll { + .fix-tabbar-header { + background-color: #fff; + } +} +.page-fff-linear-fff { + .fix-tabbar-header { + background-color: #fff; + } + .fix-tabbar-body { + background: linear-gradient(180deg, #FFFFFF 0%, rgba(255,234,216,0.67) 75%, rgba(255,255,255,0) 100%); + } +} +.fix-page-back { + position: fixed; + left: 0; + z-index: 8; + display: flex; + align-items: center; + padding: 12rpx 24rpx; + border-radius: 0 28rpx 28rpx 0; + background-color: #fff; + .icon { + display: block; + width: 32rpx; + height: 32rpx; + } + &.bg { + background-color: #fff; + } +} +.article-back-wrap { + display: flex; +} +.article-back-btn { + display: flex; + align-items: center; + height: 80rpx; + padding: 0 24rpx; + border-radius: 40rpx 40rpx 40rpx 0; + color: #fff; + font-size: 28rpx; + line-height: 80rpx; + background: linear-gradient(45deg, #FA9108 0%, #FFC25C 100%); + box-shadow: 0rpx 6rpx 12rpx rgba(0,0,0,0.16); + .icon { + display: block; + width: 32rpx; + height: 32rpx; + } +} +.chat-list-wrap { + position: relative; + z-index: 2; + padding: 24rpx; + .chat-message-item + .chat-message-item { + margin-top: 24rpx; + } + .chat-message-item { + .res-time { + text-align: center; + padding: 12rpx 0; + color: #BEBEBE; + font-size: 24rpx; + } + .chat-message-body { + .chat-avatar { + display: block; + width: 60rpx; + height: 60rpx; + margin: 0 0 8rpx 0; + border-radius: 50%; + } + .item-left { + display: flex; + .txt { + max-width: 100%; + padding: 32rpx; + border-radius: 0 40rpx 40rpx 40rpx; + box-sizing: border-box; + color: #333; + font-size: 30rpx; + line-height: 48rpx; + background: #fff; + box-shadow: 0rpx 6rpx 12rpx rgba(0,0,0,0.16); + } + } + .web-info-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 0 24rpx 0; + .info-left { + display: flex; + align-items: center; + font-size: 28rpx; + line-height: 40rpx; + .icon { + margin: 0 8rpx 0 0; + width: 40rpx; + height: 40rpx; + } + } + .icon { + display: block; + width: 32rpx; + height: 32rpx; + } + .info-right { + display: flex; + align-items: center; + .img-list { + display: flex; + margin: 0 8rpx 0 0; + .web-logo { + display: block; + width: 40rpx; + height: 40rpx; + border-radius: 50%; + margin: 0 -6rpx 0 0; + background-color: #fff; + } + } + } + } + .web-info-body { + height: 0; + overflow: hidden; + transition: all 0.2s; + .web-item + .web-item { + margin-top: 20rpx; + } + .web-item { + display: flex; + align-items: center; + .web-logo { + display: block; + width: 36rpx; + height: 36rpx; + border-radius: 50%; + background-color: #fff; + } + .web-txt { + width: calc(100% - 50rpx); + margin: 0 0 0 14rpx; + font-size: 24rpx; + color: #1F37DC; + line-height: 36rpx; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } + &.show-web-body { + height: auto; + padding: 12rpx 0 20rpx 0; + margin: 0 0 20rpx 0; + border-bottom: 1rpx solid #eee; + } + } + .suggestion-wrap { + .title { + padding: 24rpx 0 0 0; + color: #999; + font-size: 26rpx; + line-height: 38rpx; + } + .suggestion-list { + .item { + display: inline-flex; + min-height: 44rpx; + padding: 12rpx 12rpx 12rpx 18rpx; + border-radius: 30rpx; + margin: 24rpx 24rpx 0 0; + font-size: 26rpx; + color: #333; + line-height: 38rpx; + overflow: hidden; + text-overflow: ellipsis; + background-color: #fff; + .label { + display: flex; + justify-content: center; + align-items: center; + width: 44rpx; + height: 44rpx; + margin: 0 16rpx 0 0; + border-radius: 16rpx; + background: rgba(249,248,246,0.39); + .pic { + display: block; + width: 28rpx; + height: 28rpx; + } + } + } + } + } + .item-right { + display: flex; + justify-content: flex-end; + .txt { + max-width: 100%; + padding: 20rpx 32rpx; + border-radius: 40rpx 40rpx 0 40rpx; + box-sizing: border-box; + color: #fff; + font-size: 30rpx; + line-height: 48rpx; + background: linear-gradient(270deg, #FA9108 0%, #FFC25C 100%); + box-shadow: 0rpx 6rpx 12rpx rgba(0,0,0,0.16); + .copy-btn { + display: inline-block; + margin: -6rpx 0 0 12rpx; + vertical-align: middle; + .icon { + display: block; + width: 32rpx; + } + } + } + } + .bottom-btns { + display: flex; + justify-content: flex-end; + padding: 20rpx 0 0 0; + .item { + display: flex; + align-items: center; + margin: 0 0 0 48rpx; + padding: 0; + border: 0; + border-radius: 0; + color: #999; + font-size: 24rpx; + line-height: 36rpx; + background-color: #fff; + box-shadow: none; + .icon { + display: block; + width: 36rpx; + height: 36rpx; + margin: 0 6rpx 0 0; + } + } + } + } + } +} +.info-list-wrap { + padding: 24rpx 12rpx 80rpx 12rpx; + margin: 24rpx 0 0 0; + border-radius: 40rpx; + background: linear-gradient(180deg, #FEF1D4 0%, rgba(255,234,216,0.67) 57%, rgba(255,255,255,0) 100%); + .info-header { + padding: 0 24rpx; + .total { + display: flex; + align-items: center; + font-size: 24rpx; + color: #333; + .icon { + display: block; + width: 24rpx; + height: 24rpx; + } + .num { + margin: 0 8rpx; + color: #FA9108; + } + } + .sub-header { + padding: 12rpx 0 0 0; + font-size: 36rpx; + font-weight: bold; + .blue { + color: #1634FF; + } + .date { + color: #999; + font-size: 28rpx; + } + } + } + .info-new-item { + padding: 24rpx; + margin: 16rpx 0 0 0; + border-radius: 30rpx; + background-color: #fff; + .title { + font-size: 32rpx; + line-height: 44rpx; + } + .desc { + padding: 24rpx 0 12rpx 0; + color: #999; + font-size: 24rpx; + .orgin { + .icon { + display: block; + width: 28rpx; + height: 28rpx; + margin: 0 6rpx 0 20rpx; + &:first-child { + margin-left: 0; + } + } + } + .date { + .icon { + display: block; + width: 24rpx; + height: 24rpx; + } + } + } + } +} +.relate-wrap { + padding: 20rpx; + margin: 0 12rpx; + border-radius: 20rpx 20rpx 20rpx 0; + background-color: #fff; + .title { + display: flex; + align-items: center; + font-size: 28rpx; + font-weight: bold; + line-height: 40rpx; + color: #1634FF; + .icon { + display: block; + width: 40rpx; + height: 40rpx; + } + } + .list { + display: flex; + flex-wrap: wrap; + padding: 20rpx 20rpx 0 20rpx; + .item { + margin: 0 24rpx 24rpx 0; + color: #151E5D; + font-size: 28rpx; + } + } +} +.article-body { + padding: 24rpx; +} +.article-html-wrap { + padding: 24rpx; + margin: 24rpx 0 0 0; + border-radius: 40rpx; + background-color: #fff; + .article-title { + font-size: 32rpx; + line-height: 44rpx; + font-weight: bold; + } + .article-time { + display: flex; + align-items: center; + font-size: 28rpx; + color: #999; + .icon { + display: block; + width: 28rpx; + height: 28rpx; + margin: 0 0 0 40rpx; + &:first-child { + margin-left: 0; + } + } + } +} +.bottom-postion { + width: 100%; + height: 60rpx; +} +.rich-text-box { + max-width: 100%; + word-wrap: break-word; + word-break: break-all; + word-break: normal; + white-space: initial; + .cursor { + color: #FA9108; + opacity: 0; + } +} +.show-cursor { + .cursor { + color: #FA9108; + opacity: 1; + animation: blinking 1s infinite; + } +} +@keyframes blinking { + from { + opacity: 1.0; + } + + to { + opacity: 0.0; + } +} +.loader-wrap { + transform: scale(1); +} +.loader { + width: 25px; + aspect-ratio: 1; + display: grid; + border: 2px solid #0000; + border-radius: 50%; + border-color: #ccc #0000; + animation: l16 1s infinite linear; +} +.loader::before, +.loader::after { + content: ""; + grid-area: 1/1; + margin: 2px; + border: inherit; + border-radius: 50%; +} +.loader::before { + border-color: #FA9108 #0000; + animation: inherit; + animation-duration: .5s; + animation-direction: reverse; +} +.loader::after { + margin: 8px; +} +@keyframes l16 { + 100%{transform: rotate(1turn)} +} + +.music-wrap { + position: absolute; + left: 0; + right: 0; + top: -148rpx; + z-index: 5; + display: flex; + align-items: center; + justify-content: center; + height: 100rpx; + padding: 24rpx; + background-color: #fff; + .item { + width: 8px; + margin: 0 24rpx; + border-radius: 6px; + background-color: #FA9108; + } + .one { + height: 86rpx; + animation: radius-animation .58s infinite linear; + } + .two { + height: 50rpx; + animation: radius-animation .6s infinite linear; + } + .three { + height: 76rpx; + animation: radius-animation .57s infinite linear; + } + .four { + height: 100rpx; + animation: radius-animation .52s infinite linear; + } + .five { + height: 76rpx; + animation: radius-animation .4s infinite linear; + } + .six { + height: 50rpx; + animation: radius-animation .45s infinite linear; + } + .seven { + height: 86rpx; + animation: radius-animation .7s infinite linear; + } +} +@keyframes radius-animation { + 100% { + height: 20rpx; + } +} \ No newline at end of file diff --git a/components/aiChat/bottomSend.vue b/components/aiChat/bottomSend.vue new file mode 100644 index 0000000..152f041 --- /dev/null +++ b/components/aiChat/bottomSend.vue @@ -0,0 +1,268 @@ + + + diff --git a/components/aiChat/entrance.vue b/components/aiChat/entrance.vue new file mode 100644 index 0000000..cd571c7 --- /dev/null +++ b/components/aiChat/entrance.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/config/baseSetting.js b/config/baseSetting.js new file mode 100644 index 0000000..e2a5cd4 --- /dev/null +++ b/config/baseSetting.js @@ -0,0 +1,18 @@ +const baseStr = 'edc_epro_prod:' +const settings = { + storage: { + systemInfo: `${baseStr}systemInfo`, + firstLaunch: `${baseStr}firstLaunch`, + token: `${baseStr}token`, + userInfo: `${baseStr}userInfo`, + webInfo: `${baseStr}webInfo` + }, + /* 拦截器超时时长 */ + timeout: 120 * 1000, + /* 系统接口前缀,没有统一的填空字符串 */ + sysPrefix: '/', + /* 是否收集错误日志 */ + collectRequestError: false +} + +export default settings diff --git a/main.js b/main.js index e024e72..389a1ba 100644 --- a/main.js +++ b/main.js @@ -17,9 +17,11 @@ import { import uView from "uview-ui"; import GooSkeleton from '@/components/GooSkeleton/index.vue' import { pageToWatchData } from '@/config/page' +import BottomSend from '@/components/aiChat/bottomSend.vue' Vue.use(uView) Vue.component('GooSkeleton', GooSkeleton) +Vue.component('BottomSend', BottomSend) Vue.mixin(mixin) // 注册全局组件 diff --git a/mixins/chatMixins.js b/mixins/chatMixins.js new file mode 100644 index 0000000..15d53ee --- /dev/null +++ b/mixins/chatMixins.js @@ -0,0 +1,281 @@ +import { + getSseConfigV1, + getCompletions +} from '@/api/chat/index' +import { VUE_APP_API_URL } from '@/config' +import settings from '@/config/baseSetting.js' +import { formatAiMsgContent } from '@/utils/aiChat' +import cookie from '@/utils/store/cookie' +import { handleLoginFailure } from '@/utils' +export const chatMixins = { + data() { + return { + token: cookie.get('login_status'), + userInfo: cookie.get('userInfo'), + webUrl: this.$webUrl, + scrollTop: 0, + isScrollToBottom: false, + // 状态栏高度 + statusBarHeight: 20, + fileHttpStr: Object.freeze(VUE_APP_API_URL + settings.sysPrefix), + optionsFrom: '', + loading: false, + chatNumber: '', + infoResData: {}, + chatMessageList: [ + /* + { + type: -2, + isError: false, + showCursor: false, + conversationId: '', + prompt: '', + nodes: '-------------监听 WebSocket 接受到服务器的消息事件', + content: '-------------监听 WebSocket 接受到服务器的消息事件', + listQuestion: [ + '监听 WebSocket 接受到服务器的消息事件', + '监听 WebSocket 接受到服务器的消息事件', + '监听 WebSocket 接受到服务器的消息事件' + ] + } + */ + ], + errorMsg: Object.freeze('您提的问题未能理解,云灵思想跑偏啦,重新整理一下问题或者重新提问,让云灵再试试!') + } + }, + computed: { + chatMessageListLength() { + return this.chatMessageList.length + } + }, + onPageScroll(e) { + const scrollTop = e.scrollTop + this.scrollTop = scrollTop + const query = wx.createSelectorQuery().in(this) + query.select('#fixTbabarBody').boundingClientRect(function(rect) { + const contentHeight = rect.height + const windowInfo = wx.getWindowInfo() + const windowHeight = windowInfo.windowHeight + if (scrollTop + windowHeight + 30 >= contentHeight) { + this.isScrollToBottom = true + } else { + this.isScrollToBottom = false + } + }.bind(this)).exec() + }, + created() { + const _this = this + uni.getSystemInfo({ + success: (e) => { + let statusBar = 0 + // #ifdef MP-WEIXIN + statusBar = e.statusBarHeight + const custom = uni.getMenuButtonBoundingClientRect() + _this.rightDistance = e.windowWidth - custom.left + 10 + // #endif + // 状态栏高度 + _this.statusBarHeight = statusBar + } + }) + console.log(this.token) + console.log(this.userInfo) + _this.createdCallbak() + }, + methods: { + createdCallbak() { + console.log('页面初始话回调') + }, + copyContentHandle(data) { + uni.setClipboardData({ + data, + success: () => + uni.showToast({ + title: '已复制' + }) + }) + }, + shareHandle() { + wx.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'], + success: (res) => { + console.log(res) + }, + fail: err => { + console.log(err) + } + }) + }, + scrollToBottomHandle() { + uni.pageScrollTo({ + duration: 100, + selector: '#bottom_postion' + }) + this.isScrollToBottom = true + }, + // 重新生成 + regenerateHandle(item) { + deleteChatItemByConversationId(item.conversationId).then(res => { + const { success } = res + if (success) { + this.chatMessageList.splice(this.chatMessageListLength - 1, 1) + this.streamReq({ + prompt: item.prompt, + init: 1 + }) + } + }) + }, + // 建议提问 + suggestionItemClickHandle(question) { + this.streamReq({ + prompt: question, + init: 0 + }) + }, + streamReq(params) { + const _this = this + // 需要校验登录状态 + if (!_this.token) { + handleLoginFailure() + return + } + _this.initWebSocket(() => { + const prompt = params.prompt + if (params.init !== 1) { + _this.chatMessageList.push({ + prompt, + type: -1 + }) + } + _this.$nextTick(() => { + _this.scrollToBottomHandle() + }) + _this.chatMessageList.push({ + content: '', + nodes: '', + isError: false, + showCursor: false, + conversationId: '', + prompt, + listQuestion: [], + type: -2 + }) + _this.loading = true + _this.showCursor = false + getSseConfigV1({ + 'chatNumber': _this.chatNumber, + prompt + }).then(resConfig => { + const conversationId = resConfig.data.conversationId + _this.chatNumber = resConfig.data.chatNumber || '' + _this.chatMessageList[_this.chatMessageListLength - 1].showCursor = true + _this.chatMessageList[_this.chatMessageListLength - 1].conversationId = conversationId + getCompletions({ + conversationId, + ws: true, + isNoNeedPublicErrorNotification: 1 + }).then(sseRes => { + console.log(sseRes) + // _this.closeWsFn() + }).catch(err => { + console.log(err) + _this.chatMessageList[_this.chatMessageListLength - 1].isError = true + _this.chatMessageList[_this.chatMessageListLength - 1].content = _this.errorMsg + _this.chatMessageList[_this.chatMessageListLength - 1].nodes = _this.errorMsg + _this.closeWsFn() + }) + }).catch(err => { + console.log(err) + _this.chatMessageList[_this.chatMessageListLength - 1].isError = true + _this.chatMessageList[_this.chatMessageListLength - 1].content = _this.errorMsg + _this.chatMessageList[_this.chatMessageListLength - 1].nodes = _this.errorMsg + _this.closeWsFn() + }) + }) + }, + closeWsFn() { + this.loading = false + this.chatMessageList[this.chatMessageListLength - 1].showCursor = false + uni.closeSocket({ + success: () => { + console.log('-----关闭连接') + } + }) + this.$nextTick(() => { + this.scrollToBottomHandle() + }) + }, + initWebSocket(cb) { + const _this = this + console.log('------------------创建连接') + uni.connectSocket({ + url: VUE_APP_API_URL.replace('https', 'wss') + settings.sysPrefix + `v1/chat/websocket/${_this.userInfo.unionId}`, + header: { + 'content-type': 'application/json' + }, + timeout: 10 * 1000, + success: () => { + console.log('------------WebSocket初始化成功') + }, + fail: (err) => { + uni.showModal({ + showCancel: false, + content: err + }) + } + }) + uni.onSocketMessage(res => { + _this.websocketOnmessage(res) + }) + uni.onSocketOpen(() => { + cb && cb() + _this.websocketOnopen() + }) + uni.onSocketError(err => { + _this.websocketOnerror(err) + }) + }, + websocketOnmessage(res) { + console.log('-------------监听 WebSocket 接受到服务器的消息事件') + const resData = JSON.parse(res.data) + if (resData) { + const message = resData.message + if (message && this.chatMessageListLength > 1) { + const mesContent = message.content + this.chatMessageList[this.chatMessageListLength - 1].nodes = formatAiMsgContent(mesContent) + this.chatMessageList[this.chatMessageListLength - 1].content = mesContent + this.chatMessageList[this.chatMessageListLength - 1].listQuestion = message.listQuestion || [] + this.$forceUpdate() + this.$nextTick(() => { + this.scrollToBottomHandle() + if (message.finish) { + this.closeWsFn() + } + }) + } + } + }, + websocketOnopen() { + console.log('------------------监听 WebSocket 连接打开事件') + // this.websocketSend(JSON.stringify({ msg: '1' })) + }, + websocketOnerror(e) { + console.log('-----------------监听 WebSocket 错误事件') + console.log(e) + }, + websocketSend(msg) { + // 数据发送 + try { + uni.sendSocketMessage({ + data: msg, + success: () => { + console.log('-----------发送消息成功了') + } + }) + } catch (err) { + console.log('send failed (' + err.code + ')') + } + } + } +} diff --git a/pages.json b/pages.json index 4190804..c620f3b 100644 --- a/pages.json +++ b/pages.json @@ -36,6 +36,14 @@ "navigationBarTextStyle": "white" } }, + { + "path": "pages/aiChat/index", + "style": { + "navigationBarTitleText": "云灵AI智能助手", + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } + }, { "path": "pages/home/landMark", "style": { diff --git a/pages/aiChat/index.vue b/pages/aiChat/index.vue new file mode 100644 index 0000000..74db0a4 --- /dev/null +++ b/pages/aiChat/index.vue @@ -0,0 +1,197 @@ + + + + diff --git a/pages/cloud/cloud.vue b/pages/cloud/cloud.vue index cf16aea..2dc2d0c 100644 --- a/pages/cloud/cloud.vue +++ b/pages/cloud/cloud.vue @@ -1,9 +1,19 @@ diff --git a/pages/home/index.vue b/pages/home/index.vue index bbc6912..315a46c 100644 --- a/pages/home/index.vue +++ b/pages/home/index.vue @@ -353,6 +353,7 @@ paddingBottom="200rpx" /> + @@ -368,6 +369,7 @@ import ProductWindow from '@/components/ProductWindow' import goCartMixin from '@/mixins/goCartMixins' import FunctionGuide from '@/components/FunctionGuide' import GuideMixins from '@/mixins/GuideMixins' +import AiEntrance from '@/components/aiChat/entrance' import { getSearchPageConfig } from '@/api/search' @@ -383,7 +385,8 @@ export default { XddTabbar, XddProductItem, ProductWindow, - FunctionGuide + FunctionGuide, + AiEntrance }, mixins: [pageListenMixins, goCartMixin, GuideMixins], data() { diff --git a/static/images/组 707@2x.png b/static/images/组 707@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5db78b76e2d7a5d295c75313b04b4760fa727e26 GIT binary patch literal 324011 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

<8kqUq8Kq-wlQn&e|;O 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 literal 0 HcmV?d00001 diff --git a/utils/aiChat.js b/utils/aiChat.js new file mode 100644 index 0000000..d71a565 --- /dev/null +++ b/utils/aiChat.js @@ -0,0 +1,92 @@ +// 引入markdown-it库 +import MarkdownIt from '@/utils/markdown-it.min.js' +// hljs是由 Highlight.js 经兼容性修改后的文件,请勿直接升级。否则会造成uni-app-vue3-Android下有兼容问题 +import hljs from '@/utils/highlight/highlight-uni.min.js' +// 引入html-parser.js库 +// import parseHtml from '@/utils/html-parser.js' + +// 初始化 MarkdownIt库 +const markdownIt = MarkdownIt({ + // 在源码中启用 HTML 标签 + html: true, + // 如果结果以

' +
+    // 			hljs.highlight('lang', str, true).value +
+    // 			'
'; + // } catch (__) {} + // } + // 经过highlight.js处理后的html + let preCode = '' + try { + preCode = hljs.highlightAuto(str).value + } catch (err) { + preCode = markdownIt.utils.escapeHtml(str) + } + + // 以换行进行分割 + const lines = preCode.split(/\n/).slice(0, -1) + // 添加自定义行号 + let html = lines.map((item, index) => { + // 去掉空行 + if (item === '') { + return '' + } + return '
  • ' + item + '
  • ' + }).join('') + html = '
      ' + html + '
    ' + let htmlCode = `
    ` + htmlCode += `
    ${html}
    ` + htmlCode += '
    ' + return htmlCode + } +}) + +export function formatAiMsgContent(val) { + if (!val) { + return '' + } + let htmlString = '' + // 修改转换结果的htmlString值 用于正确给界面增加鼠标闪烁的效果 + // 判断markdown中代码块标识符的数量是否为偶数 + if (val.split('```').length % 2) { + let msgContent = val + if (msgContent[msgContent.length - 1] !== '\n') { + msgContent += '\n' + } + msgContent += ' |' + htmlString = markdownIt.render(msgContent) + } else { + htmlString = markdownIt.render(val) + htmlString = markdownIt.render(val) + ' \n |' + } + // console.log(htmlString) + return htmlString +} + +/** + * 简单实现防抖方法 + * + * 防抖(debounce)函数在第一次触发给定的函数时,不立即执行函数,而是给出一个期限值(delay),比如100ms。 + * 如果100ms内再次执行函数,就重新开始计时,直到计时结束后再真正执行函数。 + * 这样做的好处是如果短时间内大量触发同一事件,只会执行一次函数。 + * + * @param fn 要防抖的函数 + * @param delay 防抖的毫秒数 + * @returns {Function} + */ +export function simpleDebounce(fn, delay = 100) { + let timer = null + return function() { + const args = arguments + if (timer) { + clearTimeout(timer) + } + timer = setTimeout(() => { + fn.apply(null, args) + }, delay) + } +} diff --git a/utils/highlight/github-dark.min.css b/utils/highlight/github-dark.min.css new file mode 100644 index 0000000..03b6da8 --- /dev/null +++ b/utils/highlight/github-dark.min.css @@ -0,0 +1,10 @@ +pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! + Theme: GitHub Dark + Description: Dark theme as seen on github.com + Author: github.com + Maintainer: @Hirse + Updated: 2021-05-15 + + Outdated base version: https://github.com/primer/github-syntax-dark + Current colors taken from GitHub's CSS +*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c} \ No newline at end of file diff --git a/utils/highlight/highlight-uni.min.js b/utils/highlight/highlight-uni.min.js new file mode 100644 index 0000000..091aec5 --- /dev/null +++ b/utils/highlight/highlight-uni.min.js @@ -0,0 +1,5256 @@ +// 本文件是由 Highlight.js 经兼容性修改后的文件,请勿直接升级。否则会造成uni-app-vue3-Android下有兼容问题 +/*! + Highlight.js v11.7.0 (git: 82688fad18) + (c) 2006-2022 undefined and other contributors + License: BSD-3-Clause + */ +var e = { + exports: {} +}; + +function n(e) { + return e instanceof Map ? e.clear = e.delete = e.set = () => { + throw Error("map is read-only") + } : e instanceof Set && (e.add = e.clear = e.delete = () => { + throw Error("set is read-only") + }), Object.freeze(e), Object.getOwnPropertyNames(e).forEach((t => { + var a = e[t]; + "object" != typeof a || Object.isFrozen(a) || n(a) + })), e +} +e.exports = n, e.exports.default = n; +class t { + constructor(e) { + void 0 === e.data && (e.data = {}), this.data = e.data, this.isMatchIgnored = !1 + } + ignoreMatch() { + this.isMatchIgnored = !0 + } +} + +function a(e) { + return e.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, + "'") +} + +function i(e, ...n) { + const t = Object.create(null); + for (const n in e) t[n] = e[n]; + return n.forEach((e => { + for (const n in e) t[n] = e[n] + })), t +} +const r = e => !!e.scope || e.sublanguage && e.language; +class s { + constructor(e, n) { + this.buffer = "", this.classPrefix = n.classPrefix, e.walk(this) + } + addText(e) { + this.buffer += a(e) + } + openNode(e) { + if (!r(e)) return; + let n = ""; + n = e.sublanguage ? "language-" + e.language : ((e, { + prefix: n + }) => { + if (e.includes(".")) { + const t = e.split("."); + return [`${n}${t.shift()}`, ...t.map(((e, n) => `${e}${"_".repeat(n+1)}`))].join(" ") + } + return `${n}${e}` + })(e.scope, { + prefix: this.classPrefix + }), this.span(n) + } + closeNode(e) { + r(e) && (this.buffer += "") + } + value() { + return this.buffer + } + span(e) { + this.buffer += `` + } +} +const o = (e = {}) => { + const n = { + children: [] + }; + return Object.assign(n, e), n +}; +class l { + constructor() { + this.rootNode = o(), this.stack = [this.rootNode] + } + get top() { + return this.stack[this.stack.length - 1] + } + get root() { + return this.rootNode + } + add(e) { + this.top.children.push(e) + } + openNode(e) { + const n = o({ + scope: e + }); + this.add(n), this.stack.push(n) + } + closeNode() { + if (this.stack.length > 1) return this.stack.pop() + } + closeAllNodes() { + for (; this.closeNode();); + } + toJSON() { + return JSON.stringify(this.rootNode, null, 4) + } + walk(e) { + return this.constructor._walk(e, this.rootNode) + } + static _walk(e, n) { + return "string" == typeof n ? e.addText(n) : n.children && (e.openNode(n), + n.children.forEach((n => this._walk(e, n))), e.closeNode(n)), e + } + static _collapse(e) { + "string" != typeof e && e.children && (e.children.every((e => "string" == typeof e)) ? e.children = [e.children + .join("") + ] : e.children.forEach((e => { + l._collapse(e) + }))) + } +} +class c extends l { + constructor(e) { + super(), this.options = e + } + addKeyword(e, n) { + "" !== e && (this.openNode(n), this.addText(e), this.closeNode()) + } + addText(e) { + "" !== e && this.add(e) + } + addSublanguage(e, n) { + const t = e.root; + t.sublanguage = !0, t.language = n, this.add(t) + } + toHTML() { + return new s(this, this.options).value() + } + finalize() { + return !0 + } +} + +function d(e) { + return e ? "string" == typeof e ? e : e.source : null +} + +function g(e) { + return m("(?=", e, ")") +} + +function u(e) { + return m("(?:", e, ")*") +} + +function b(e) { + return m("(?:", e, ")?") +} + +function m(...e) { + return e.map((e => d(e))).join("") +} + +function p(...e) { + const n = (e => { + const n = e[e.length - 1]; + return "object" == typeof n && n.constructor === Object ? (e.splice(e.length - 1, 1), n) : {} + })(e); + return "(" + (n.capture ? "" : "?:") + e.map((e => d(e))).join("|") + ")" +} + +function _(e) { + return RegExp(e.toString() + "|").exec("").length - 1 +} +const h = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./; + +function f(e, { + joinWith: n +}) { + let t = 0; + return e.map((e => { + t += 1; + const n = t; + let a = d(e), + i = ""; + for (; a.length > 0;) { + const e = h.exec(a); + if (!e) { + i += a; + break + } + i += a.substring(0, e.index), + a = a.substring(e.index + e[0].length), "\\" === e[0][0] && e[1] ? i += "\\" + (Number(e[1]) + n) : (i += + e[0], + "(" === e[0] && t++) + } + return i + })).map((e => `(${e})`)).join(n) +} +const E = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", + y = { + begin: "\\\\[\\s\\S]", + relevance: 0 + }, + w = { + scope: "string", + begin: "'", + end: "'", + illegal: "\\n", + contains: [y] + }, + N = { + scope: "string", + begin: '"', + end: '"', + illegal: "\\n", + contains: [y] + }, + v = (e, n, t = {}) => { + const a = i({ + scope: "comment", + begin: e, + end: n, + contains: [] + }, t); + a.contains.push({ + scope: "doctag", + begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", + end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/, + excludeBegin: !0, + relevance: 0 + }); + const r = p("I", "a", "is", "so", "us", "to", "at", "if", "in", "it", "on", /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, + /[A-Za-z]+[-][a-z]+/, /[A-Za-z][a-z]{2,}/); + return a.contains.push({ + begin: m(/[ ]+/, "(", r, /[.]?[:]?([.][ ]|[ ])/, "){3}") + }), a + }, + O = v("//", "$"), + k = v("/\\*", "\\*/"), + x = v("#", "$"); +var M = Object.freeze({ + __proto__: null, + MATCH_NOTHING_RE: /\b\B/, + IDENT_RE: "[a-zA-Z]\\w*", + UNDERSCORE_IDENT_RE: "[a-zA-Z_]\\w*", + NUMBER_RE: "\\b\\d+(\\.\\d+)?", + C_NUMBER_RE: E, + BINARY_NUMBER_RE: "\\b(0b[01]+)", + RE_STARTERS_RE: "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", + SHEBANG: (e = {}) => { + const n = /^#![ ]*\//; + return e.binary && (e.begin = m(n, /.*\b/, e.binary, /\b.*/)), i({ + scope: "meta", + begin: n, + end: /$/, + relevance: 0, + "on:begin": (e, n) => { + 0 !== e.index && n.ignoreMatch() + } + }, e) + }, + BACKSLASH_ESCAPE: y, + APOS_STRING_MODE: w, + QUOTE_STRING_MODE: N, + PHRASAL_WORDS_MODE: { + begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ + }, + COMMENT: v, + C_LINE_COMMENT_MODE: O, + C_BLOCK_COMMENT_MODE: k, + HASH_COMMENT_MODE: x, + NUMBER_MODE: { + scope: "number", + begin: "\\b\\d+(\\.\\d+)?", + relevance: 0 + }, + C_NUMBER_MODE: { + scope: "number", + begin: E, + relevance: 0 + }, + BINARY_NUMBER_MODE: { + scope: "number", + begin: "\\b(0b[01]+)", + relevance: 0 + }, + REGEXP_MODE: { + begin: /(?=\/[^/\n]*\/)/, + contains: [{ + scope: "regexp", + begin: /\//, + end: /\/[gimuy]*/, + illegal: /\n/, + contains: [y, { + begin: /\[/, + end: /\]/, + relevance: 0, + contains: [y] + }] + }] + }, + TITLE_MODE: { + scope: "title", + begin: "[a-zA-Z]\\w*", + relevance: 0 + }, + UNDERSCORE_TITLE_MODE: { + scope: "title", + begin: "[a-zA-Z_]\\w*", + relevance: 0 + }, + METHOD_GUARD: { + begin: "\\.\\s*[a-zA-Z_]\\w*", + relevance: 0 + }, + END_SAME_AS_BEGIN: e => Object.assign(e, { + "on:begin": (e, n) => { + n.data._beginMatch = e[1] + }, + "on:end": (e, n) => { + n.data._beginMatch !== e[1] && n.ignoreMatch() + } + }) +}); + +function S(e, n) { + "." === e.input[e.index - 1] && n.ignoreMatch() +} + +function A(e, n) { + void 0 !== e.className && (e.scope = e.className, delete e.className) +} + +function C(e, n) { + n && e.beginKeywords && (e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)", + e.__beforeBegin = S, e.keywords = e.keywords || e.beginKeywords, delete e.beginKeywords, + void 0 === e.relevance && (e.relevance = 0)) +} + +function T(e, n) { + Array.isArray(e.illegal) && (e.illegal = p(...e.illegal)) +} + +function R(e, n) { + if (e.match) { + if (e.begin || e.end) throw Error("begin & end are not supported with match"); + e.begin = e.match, delete e.match + } +} + +function D(e, n) { + void 0 === e.relevance && (e.relevance = 1) +} +const I = (e, n) => { + if (!e.beforeMatch) return; + if (e.starts) throw Error("beforeMatch cannot be used with starts"); + const t = Object.assign({}, e); + Object.keys(e).forEach((n => { + delete e[n] + })), e.keywords = t.keywords, e.begin = m(t.beforeMatch, g(t.begin)), e.starts = { + relevance: 0, + contains: [Object.assign(t, { + endsParent: !0 + })] + }, e.relevance = 0, delete t.beforeMatch + }, + L = ["of", "and", "for", "in", "not", "or", "if", "then", "parent", "list", "value"]; + +function B(e, n, t = "keyword") { + const a = Object.create(null); + return "string" == typeof e ? i(t, e.split(" ")) : Array.isArray(e) ? i(t, e) : Object.keys(e).forEach((t => { + Object.assign(a, B(e[t], n, t)) + })), a; + + function i(e, t) { + n && (t = t.map((e => e.toLowerCase()))), t.forEach((n => { + const t = n.split("|"); + a[t[0]] = [e, $(t[0], t[1])] + })) + } +} + +function $(e, n) { + return n ? Number(n) : (e => L.includes(e.toLowerCase()))(e) ? 0 : 1 +} +const z = {}, + F = e => { + console.error(e) + }, + U = (e, ...n) => { + console.log("WARN: " + e, ...n) + }, + j = (e, n) => { + z[`${e}/${n}`] || (console.log(`Deprecated as of ${e}. ${n}`), z[`${e}/${n}`] = !0) + }, + P = Error(); + +function K(e, n, { + key: t +}) { + let a = 0; + const i = e[t], + r = {}, + s = {}; + for (let e = 1; e <= n.length; e++) s[e + a] = i[e], r[e + a] = !0, a += _(n[e - 1]); + e[t] = s, e[t]._emit = r, e[t]._multi = !0 +} + +function H(e) { + (e => { + e.scope && "object" == typeof e.scope && null !== e.scope && (e.beginScope = e.scope, + delete e.scope) + })(e), "string" == typeof e.beginScope && (e.beginScope = { + _wrap: e.beginScope + }), "string" == typeof e.endScope && (e.endScope = { + _wrap: e.endScope + }), (e => { + if (Array.isArray(e.begin)) { + if (e.skip || e.excludeBegin || e.returnBegin) throw F( + "skip, excludeBegin, returnBegin not compatible with beginScope: {}"), + P; + if ("object" != typeof e.beginScope || null === e.beginScope) throw F("beginScope must be object"), + P; + K(e, e.begin, { + key: "beginScope" + }), e.begin = f(e.begin, { + joinWith: "" + }) + } + })(e), (e => { + if (Array.isArray(e.end)) { + if (e.skip || e.excludeEnd || e.returnEnd) throw F( + "skip, excludeEnd, returnEnd not compatible with endScope: {}"), + P; + if ("object" != typeof e.endScope || null === e.endScope) throw F("endScope must be object"), + P; + K(e, e.end, { + key: "endScope" + }), e.end = f(e.end, { + joinWith: "" + }) + } + })(e) +} + +function q(e) { + function n(n, t) { + return RegExp(d(n), "m" + (e.case_insensitive ? "i" : "") + (e.unicodeRegex ? "u" : "") + (t ? "g" : "")) + } + class t { + constructor() { + this.matchIndexes = {}, this.regexes = [], this.matchAt = 1, this.position = 0 + } + addRule(e, n) { + n.position = this.position++, this.matchIndexes[this.matchAt] = n, this.regexes.push([n, e]), + this.matchAt += _(e) + 1 + } + compile() { + 0 === this.regexes.length && (this.exec = () => null); + const e = this.regexes.map((e => e[1])); + this.matcherRe = n(f(e, { + joinWith: "|" + }), !0), this.lastIndex = 0 + } + exec(e) { + this.matcherRe.lastIndex = this.lastIndex; + const n = this.matcherRe.exec(e); + if (!n) return null; + const t = n.findIndex(((e, n) => n > 0 && void 0 !== e)), + a = this.matchIndexes[t]; + return n.splice(0, t), Object.assign(n, a) + } + } + class a { + constructor() { + this.rules = [], this.multiRegexes = [], + this.count = 0, this.lastIndex = 0, this.regexIndex = 0 + } + getMatcher(e) { + if (this.multiRegexes[e]) return this.multiRegexes[e]; + const n = new t; + return this.rules.slice(e).forEach((([e, t]) => n.addRule(e, t))), + n.compile(), this.multiRegexes[e] = n, n + } + resumingScanAtSamePosition() { + return 0 !== this.regexIndex + } + considerAll() { + this.regexIndex = 0 + } + addRule(e, n) { + this.rules.push([e, n]), "begin" === n.type && this.count++ + } + exec(e) { + const n = this.getMatcher(this.regexIndex); + n.lastIndex = this.lastIndex; + let t = n.exec(e); + if (this.resumingScanAtSamePosition()) + if (t && t.index === this.lastIndex); + else { + const n = this.getMatcher(0); + n.lastIndex = this.lastIndex + 1, t = n.exec(e) + } + return t && (this.regexIndex += t.position + 1, + this.regexIndex === this.count && this.considerAll()), t + } + } + if (e.compilerExtensions || (e.compilerExtensions = []), + e.contains && e.contains.includes("self")) throw Error( + "ERR: contains `self` is not supported at the top-level of a language. See documentation."); + return e.classNameAliases = i(e.classNameAliases || {}), + function t(r, s) { + const o = r; + if (r.isCompiled) return o; + [A, R, H, I].forEach((e => e(r, s))), e.compilerExtensions.forEach((e => e(r, s))), + r.__beforeBegin = null, [C, T, D].forEach((e => e(r, s))), r.isCompiled = !0; + let l = null; + return "object" == typeof r.keywords && r.keywords.$pattern && (r.keywords = Object.assign({}, r.keywords), + l = r.keywords.$pattern, + delete r.keywords.$pattern), l = l || /\w+/, r.keywords && (r.keywords = B(r.keywords, e.case_insensitive)), + o.keywordPatternRe = n(l, !0), + s && (r.begin || (r.begin = /\B|\b/), o.beginRe = n(o.begin), r.end || r.endsWithParent || (r.end = /\B|\b/), + r.end && (o.endRe = n(o.end)), + o.terminatorEnd = d(o.end) || "", r.endsWithParent && s.terminatorEnd && (o.terminatorEnd += (r.end ? "|" : + "") + s.terminatorEnd)), + r.illegal && (o.illegalRe = n(r.illegal)), + r.contains || (r.contains = []), r.contains = [].concat(...r.contains.map((e => (e => (e.variants && !e + .cachedVariants && (e.cachedVariants = e.variants.map((n => i(e, { + variants: null + }, n)))), e.cachedVariants ? e.cachedVariants : Z(e) ? i(e, { + starts: e.starts ? i(e.starts) : null + }) : Object.isFrozen(e) ? i(e) : e))("self" === e ? r : e)))), r.contains.forEach((e => { + t(e, o) + })), r.starts && t(r.starts, s), o.matcher = (e => { + const n = new a; + return e.contains.forEach((e => n.addRule(e.begin, { + rule: e, + type: "begin" + }))), e.terminatorEnd && n.addRule(e.terminatorEnd, { + type: "end" + }), e.illegal && n.addRule(e.illegal, { + type: "illegal" + }), n + })(o), o + }(e) +} + +function Z(e) { + return !!e && (e.endsWithParent || Z(e.starts)) +} +class G extends Error { + constructor(e, n) { + super(e), this.name = "HTMLInjectionError", this.html = n + } +} +const W = a, + Q = i, + X = Symbol("nomatch"); +var V = (n => { + const a = Object.create(null), + i = Object.create(null), + r = []; + let s = !0; + const o = "Could not find the language '{}', did you forget to load/include a language module?", + l = { + disableAutodetect: !0, + name: "Plain text", + contains: [] + }; + let d = { + ignoreUnescapedHTML: !1, + throwUnescapedHTML: !1, + noHighlightRe: /^(no-?highlight)$/i, + languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i, + classPrefix: "hljs-", + cssSelector: "pre code", + languages: null, + __emitter: c + }; + + function _(e) { + return d.noHighlightRe.test(e) + } + + function h(e, n, t) { + let a = "", + i = ""; + "object" == typeof n ? (a = e, + t = n.ignoreIllegals, i = n.language) : (j("10.7.0", "highlight(lang, code, ...args) has been deprecated."), + j("10.7.0", + "Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), + i = e, a = n), void 0 === t && (t = !0); + const r = { + code: a, + language: i + }; + x("before:highlight", r); + const s = r.result ? r.result : f(r.language, r.code, t); + return s.code = r.code, x("after:highlight", s), s + } + + function f(e, n, i, r) { + const l = Object.create(null); + + function c() { + if (!k.keywords) return void M.addText(S); + let e = 0; + k.keywordPatternRe.lastIndex = 0; + let n = k.keywordPatternRe.exec(S), + t = ""; + for (; n;) { + t += S.substring(e, n.index); + const i = w.case_insensitive ? n[0].toLowerCase() : n[0], + r = (a = i, k.keywords[a]); + if (r) { + const [e, a] = r + ; + if (M.addText(t), t = "", l[i] = (l[i] || 0) + 1, l[i] <= 7 && (A += a), e.startsWith("_")) t += n[0]; + else { + const t = w.classNameAliases[e] || e; + M.addKeyword(n[0], t) + } + } else t += n[0]; + e = k.keywordPatternRe.lastIndex, n = k.keywordPatternRe.exec(S) + } + var a; + t += S.substring(e), M.addText(t) + } + + function g() { + null != k.subLanguage ? (() => { + if ("" === S) return; + let e = null; + if ("string" == typeof k.subLanguage) { + if (!a[k.subLanguage]) return void M.addText(S); + e = f(k.subLanguage, S, !0, x[k.subLanguage]), x[k.subLanguage] = e._top + } else e = E(S, k.subLanguage.length ? k.subLanguage : null); + k.relevance > 0 && (A += e.relevance), M.addSublanguage(e._emitter, e.language) + })() : c(), S = "" + } + + function u(e, n) { + let t = 1; + const a = n.length - 1; + for (; t <= a;) { + if (!e._emit[t]) { + t++; + continue + } + const a = w.classNameAliases[e[t]] || e[t], + i = n[t]; + a ? M.addKeyword(i, a) : (S = i, c(), S = ""), t++ + } + } + + function b(e, n) { + return e.scope && "string" == typeof e.scope && M.openNode(w.classNameAliases[e.scope] || e.scope), + e.beginScope && (e.beginScope._wrap ? (M.addKeyword(S, w.classNameAliases[e.beginScope._wrap] || e + .beginScope._wrap), + S = "") : e.beginScope._multi && (u(e.beginScope, n), S = "")), k = Object.create(e, { + parent: { + value: k + } + }), k + } + + function m(e, n, a) { + let i = ((e, n) => { + const t = e && e.exec(n); + return t && 0 === t.index + })(e.endRe, a); + if (i) { + if (e["on:end"]) { + const a = new t(e); + e["on:end"](n, a), a.isMatchIgnored && (i = !1) + } + if (i) { + for (; e.endsParent && e.parent;) e = e.parent; + return e + } + } + if (e.endsWithParent) return m(e.parent, n, a) + } + + function p(e) { + return 0 === k.matcher.regexIndex ? (S += e[0], 1) : (R = !0, 0) + } + + function _(e) { + const t = e[0], + a = n.substring(e.index), + i = m(k, e, a); + if (!i) return X; + const r = k; + k.endScope && k.endScope._wrap ? (g(), + M.addKeyword(t, k.endScope._wrap)) : k.endScope && k.endScope._multi ? (g(), + u(k.endScope, e)) : r.skip ? S += t : (r.returnEnd || r.excludeEnd || (S += t), + g(), r.excludeEnd && (S = t)); + do { + k.scope && M.closeNode(), k.skip || k.subLanguage || (A += k.relevance), k = k.parent + } while (k !== i.parent); + return i.starts && b(i.starts, e), r.returnEnd ? 0 : t.length + } + let h = {}; + + function y(a, r) { + const o = r && r[0]; + if (S += a, null == o) return g(), 0; + if ("begin" === h.type && "end" === r.type && h.index === r.index && "" === o) { + if (S += n.slice(r.index, r.index + 1), !s) { + const n = Error(`0 width match regex (${e})`); + throw n.languageName = e, n.badRule = h.rule, n + } + return 1 + } + if (h = r, "begin" === r.type) return (e => { + const n = e[0], + a = e.rule, + i = new t(a), + r = [a.__beforeBegin, a["on:begin"]]; + for (const t of r) + if (t && (t(e, i), i.isMatchIgnored)) return p(n); + return a.skip ? S += n : (a.excludeBegin && (S += n), + g(), a.returnBegin || a.excludeBegin || (S = n)), b(a, e), a.returnBegin ? 0 : n.length + })(r); + if ("illegal" === r.type && !i) { + const e = Error('Illegal lexeme "' + o + '" for mode "' + (k.scope || "") + '"'); + throw e.mode = k, e + } + if ("end" === r.type) { + const e = _(r); + if (e !== X) return e + } + if ("illegal" === r.type && "" === o) return 1; + if (T > 1e5 && T > 3 * r.index) throw Error("potential infinite loop, way more iterations than matches"); + return S += o, o.length + } + const w = v(e); + if (!w) throw F(o.replace("{}", e)), Error('Unknown language: "' + e + '"'); + const N = q(w); + let O = "", + k = r || N; + const x = {}, + M = new d.__emitter(d); + (() => { + const e = []; + for (let n = k; n !== w; n = n.parent) n.scope && e.unshift(n.scope); + e.forEach((e => M.openNode(e))) + })(); + let S = "", + A = 0, + C = 0, + T = 0, + R = !1; + try { + for (k.matcher.considerAll();;) { + T++, R ? R = !1 : k.matcher.considerAll(), k.matcher.lastIndex = C; + const e = k.matcher.exec(n); + if (!e) break; + const t = y(n.substring(C, e.index), e); + C = e.index + t + } + return y(n.substring(C)), M.closeAllNodes(), M.finalize(), O = M.toHTML(), { + language: e, + value: O, + relevance: A, + illegal: !1, + _emitter: M, + _top: k + } + } catch (t) { + if (t.message && t.message.includes("Illegal")) return { + language: e, + value: W(n), + illegal: !0, + relevance: 0, + _illegalBy: { + message: t.message, + index: C, + context: n.slice(C - 100, C + 100), + mode: t.mode, + resultSoFar: O + }, + _emitter: M + }; + if (s) return { + language: e, + value: W(n), + illegal: !1, + relevance: 0, + errorRaised: t, + _emitter: M, + _top: k + }; + throw t + } + } + + function E(e, n) { + n = n || d.languages || Object.keys(a); + const t = (e => { + const n = { + value: W(e), + illegal: !1, + relevance: 0, + _top: l, + _emitter: new d.__emitter(d) + }; + return n._emitter.addText(e), n + })(e), + i = n.filter(v).filter(k).map((n => f(n, e, !1))); + i.unshift(t); + const r = i.sort(((e, n) => { + if (e.relevance !== n.relevance) return n.relevance - e.relevance; + if (e.language && n.language) { + if (v(e.language).supersetOf === n.language) return 1; + if (v(n.language).supersetOf === e.language) return -1 + } + return 0 + })), + [s, o] = r, + c = s; + return c.secondBest = o, c + } + + function y(e) { + let n = null; + const t = (e => { + let n = e.className + " "; + n += e.parentNode ? e.parentNode.className : ""; + const t = d.languageDetectRe.exec(n); + if (t) { + const n = v(t[1]); + return n || (U(o.replace("{}", t[1])), + U("Falling back to no-highlight mode for this block.", e)), n ? t[1] : "no-highlight" + } + return n.split(/\s+/).find((e => _(e) || v(e))) + })(e); + if (_(t)) return; + if (x("before:highlightElement", { + el: e, + language: t + }), e.children.length > 0 && (d.ignoreUnescapedHTML || (console.warn( + "One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), + console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), + console.warn("The element with unescaped HTML:"), + console.warn(e)), d.throwUnescapedHTML)) throw new G("One of your code blocks includes unescaped HTML.", e + .innerHTML); + n = e; + const a = n.textContent, + r = t ? h(a, { + language: t, + ignoreIllegals: !0 + }) : E(a); + e.innerHTML = r.value, ((e, n, t) => { + const a = n && i[n] || t; + e.classList.add("hljs"), e.classList.add("language-" + a) + })(e, t, r.language), e.result = { + language: r.language, + re: r.relevance, + relevance: r.relevance + }, r.secondBest && (e.secondBest = { + language: r.secondBest.language, + relevance: r.secondBest.relevance + }), x("after:highlightElement", { + el: e, + result: r, + text: a + }) + } + let w = !1; + + function N() { + "loading" !== document.readyState ? document.querySelectorAll(d.cssSelector).forEach(y) : w = !0 + } + + function v(e) { + return e = (e || "").toLowerCase(), a[e] || a[i[e]] + } + + function O(e, { + languageName: n + }) { + "string" == typeof e && (e = [e]), e.forEach((e => { + i[e.toLowerCase()] = n + })) + } + + function k(e) { + const n = v(e); + return n && !n.disableAutodetect + } + + function x(e, n) { + const t = e; + r.forEach((e => { + e[t] && e[t](n) + })) + } + "undefined" != typeof window && window.addEventListener && window.addEventListener("DOMContentLoaded", (() => { + w && N() + }), !1), Object.assign(n, { + highlight: h, + highlightAuto: E, + highlightAll: N, + highlightElement: y, + highlightBlock: e => (j("10.7.0", "highlightBlock will be removed entirely in v12.0"), + j("10.7.0", "Please use highlightElement now."), y(e)), + configure: e => { + d = Q(d, e) + }, + initHighlighting: () => { + N(), j("10.6.0", "initHighlighting() deprecated. Use highlightAll() now.") + }, + initHighlightingOnLoad: () => { + N(), j("10.6.0", "initHighlightingOnLoad() deprecated. Use highlightAll() now.") + }, + registerLanguage: (e, t) => { + let i = null; + try { + i = t(n) + } catch (n) { + if (F("Language definition for '{}' could not be registered.".replace("{}", e)), + !s) throw n; + F(n), i = l + } + i.name || (i.name = e), a[e] = i, i.rawDefinition = t.bind(null, n), i.aliases && O(i.aliases, { + languageName: e + }) + }, + unregisterLanguage: e => { + delete a[e]; + for (const n of Object.keys(i)) i[n] === e && delete i[n] + }, + listLanguages: () => Object.keys(a), + getLanguage: v, + registerAliases: O, + autoDetection: k, + inherit: Q, + addPlugin: e => { + (e => { + e["before:highlightBlock"] && !e["before:highlightElement"] && (e["before:highlightElement"] = + n => { + e["before:highlightBlock"](Object.assign({ + block: n.el + }, n)) + }), e["after:highlightBlock"] && !e["after:highlightElement"] && (e["after:highlightElement"] = + n => { + e["after:highlightBlock"](Object.assign({ + block: n.el + }, n)) + }) + })(e), r.push(e) + } + }), n.debugMode = () => { + s = !1 + }, n.safeMode = () => { + s = !0 + }, n.versionString = "11.7.0", n.regex = { + concat: m, + lookahead: g, + either: p, + optional: b, + anyNumberOfTimes: u + }; + for (const n in M) "object" == typeof M[n] && e.exports(M[n]); + return Object.assign(n, M), n +})({}); +const J = e => ({ + IMPORTANT: { + scope: "meta", + begin: "!important" + }, + BLOCK_COMMENT: e.C_BLOCK_COMMENT_MODE, + HEXCOLOR: { + scope: "number", + begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/ + }, + FUNCTION_DISPATCH: { + className: "built_in", + begin: /[\w-]+(?=\()/ + }, + ATTRIBUTE_SELECTOR_MODE: { + scope: "selector-attr", + begin: /\[/, + end: /\]/, + illegal: "$", + contains: [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] + }, + CSS_NUMBER_MODE: { + scope: "number", + begin: e.NUMBER_RE + + "(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", + relevance: 0 + }, + CSS_VARIABLE: { + className: "attr", + begin: /--[A-Za-z][A-Za-z0-9_-]*/ + } + }), + Y = ["a", "abbr", "address", "article", "aside", "audio", "b", "blockquote", "body", "button", "canvas", "caption", + "cite", "code", "dd", "del", "details", "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure", + "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "html", "i", "iframe", "img", "input", + "ins", "kbd", "label", "legend", "li", "main", "mark", "menu", "nav", "object", "ol", "p", "q", "quote", "samp", + "section", "span", "strong", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", + "tr", "ul", "var", "video" + ], + ee = ["any-hover", "any-pointer", "aspect-ratio", "color", "color-gamut", "color-index", "device-aspect-ratio", + "device-height", "device-width", "display-mode", "forced-colors", "grid", "height", "hover", "inverted-colors", + "monochrome", "orientation", "overflow-block", "overflow-inline", "pointer", "prefers-color-scheme", + "prefers-contrast", "prefers-reduced-motion", "prefers-reduced-transparency", "resolution", "scan", "scripting", + "update", "width", "min-width", "max-width", "min-height", "max-height" + ], + ne = ["active", "any-link", "blank", "checked", "current", "default", "defined", "dir", "disabled", "drop", "empty", + "enabled", "first", "first-child", "first-of-type", "fullscreen", "future", "focus", "focus-visible", + "focus-within", "has", "host", "host-context", "hover", "indeterminate", "in-range", "invalid", "is", "lang", + "last-child", "last-of-type", "left", "link", "local-link", "not", "nth-child", "nth-col", "nth-last-child", + "nth-last-col", "nth-last-of-type", "nth-of-type", "only-child", "only-of-type", "optional", "out-of-range", "past", + "placeholder-shown", "read-only", "read-write", "required", "right", "root", "scope", "target", "target-within", + "user-invalid", "valid", "visited", "where" + ], + te = ["after", "backdrop", "before", "cue", "cue-region", "first-letter", "first-line", "grammar-error", "marker", + "part", "placeholder", "selection", "slotted", "spelling-error" + ], + ae = ["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", "block-size", "border", "border-block", "border-block-color", + "border-block-end", "border-block-end-color", "border-block-end-style", "border-block-end-width", + "border-block-start", "border-block-start-color", "border-block-start-style", "border-block-start-width", + "border-block-style", "border-block-width", "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-inline", "border-inline-color", "border-inline-end", "border-inline-end-color", + "border-inline-end-style", "border-inline-end-width", "border-inline-start", "border-inline-start-color", + "border-inline-start-style", "border-inline-start-width", "border-inline-style", "border-inline-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-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", + "break-inside", "caption-side", "caret-color", "clear", "clip", "clip-path", "clip-rule", "color", "column-count", + "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", + "column-span", "column-width", "columns", "contain", "content", "content-visibility", "counter-increment", + "counter-reset", "cue", "cue-after", "cue-before", "cursor", "direction", "display", "empty-cells", "filter", + "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "flow", + "font", "font-display", "font-family", "font-feature-settings", "font-kerning", "font-language-override", + "font-size", "font-size-adjust", "font-smoothing", "font-stretch", "font-style", "font-synthesis", "font-variant", + "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", + "font-variant-position", "font-variation-settings", "font-weight", "gap", "glyph-orientation-vertical", "grid", + "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", + "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-start", "grid-template", + "grid-template-areas", "grid-template-columns", "grid-template-rows", "hanging-punctuation", "height", "hyphens", + "icon", "image-orientation", "image-rendering", "image-resolution", "ime-mode", "inline-size", "isolation", + "justify-content", "left", "letter-spacing", "line-break", "line-height", "list-style", "list-style-image", + "list-style-position", "list-style-type", "margin", "margin-block", "margin-block-end", "margin-block-start", + "margin-bottom", "margin-inline", "margin-inline-end", "margin-inline-start", "margin-left", "margin-right", + "margin-top", "marks", "mask", "mask-border", "mask-border-mode", "mask-border-outset", "mask-border-repeat", + "mask-border-slice", "mask-border-source", "mask-border-width", "mask-clip", "mask-composite", "mask-image", + "mask-mode", "mask-origin", "mask-position", "mask-repeat", "mask-size", "mask-type", "max-block-size", + "max-height", "max-inline-size", "max-width", "min-block-size", "min-height", "min-inline-size", "min-width", + "mix-blend-mode", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", + "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", + "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-block", + "padding-block-end", "padding-block-start", "padding-bottom", "padding-inline", "padding-inline-end", + "padding-inline-start", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", + "page-break-inside", "pause", "pause-after", "pause-before", "perspective", "perspective-origin", "pointer-events", + "position", "quotes", "resize", "rest", "rest-after", "rest-before", "right", "row-gap", "scroll-margin", + "scroll-margin-block", "scroll-margin-block-end", "scroll-margin-block-start", "scroll-margin-bottom", + "scroll-margin-inline", "scroll-margin-inline-end", "scroll-margin-inline-start", "scroll-margin-left", + "scroll-margin-right", "scroll-margin-top", "scroll-padding", "scroll-padding-block", "scroll-padding-block-end", + "scroll-padding-block-start", "scroll-padding-bottom", "scroll-padding-inline", "scroll-padding-inline-end", + "scroll-padding-inline-start", "scroll-padding-left", "scroll-padding-right", "scroll-padding-top", + "scroll-snap-align", "scroll-snap-stop", "scroll-snap-type", "scrollbar-color", "scrollbar-gutter", + "scrollbar-width", "shape-image-threshold", "shape-margin", "shape-outside", "speak", "speak-as", "src", "tab-size", + "table-layout", "text-align", "text-align-all", "text-align-last", "text-combine-upright", "text-decoration", + "text-decoration-color", "text-decoration-line", "text-decoration-style", "text-emphasis", "text-emphasis-color", + "text-emphasis-position", "text-emphasis-style", "text-indent", "text-justify", "text-orientation", "text-overflow", + "text-rendering", "text-shadow", "text-transform", "text-underline-position", "top", "transform", "transform-box", + "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", + "transition-property", "transition-timing-function", "unicode-bidi", "vertical-align", "visibility", + "voice-balance", "voice-duration", "voice-family", "voice-pitch", "voice-range", "voice-rate", "voice-stress", + "voice-volume", "white-space", "widows", "width", "will-change", "word-break", "word-spacing", "word-wrap", + "writing-mode", "z-index" + ].reverse(), + ie = ne.concat(te); +var re = "\\.([0-9](_*[0-9])*)", + se = "[0-9a-fA-F](_*[0-9a-fA-F])*", + oe = { + className: "number", + variants: [{ + begin: `(\\b([0-9](_*[0-9])*)((${re})|\\.)?|(${re}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` + }, { + begin: `\\b([0-9](_*[0-9])*)((${re})[fFdD]?\\b|\\.([fFdD]\\b)?)` + }, { + begin: `(${re})[fFdD]?\\b` + }, { + begin: "\\b([0-9](_*[0-9])*)[fFdD]\\b" + }, { + begin: `\\b0[xX]((${se})\\.?|(${se})?\\.(${se}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` + }, { + begin: "\\b(0|[1-9](_*[0-9])*)[lL]?\\b" + }, { + begin: `\\b0[xX](${se})[lL]?\\b` + }, { + begin: "\\b0(_*[0-7])*[lL]?\\b" + }, { + begin: "\\b0[bB][01](_*[01])*[lL]?\\b" + }], + relevance: 0 + }; + +function le(e, n, t) { + return -1 === t ? "" : e.replace(n, (a => le(e, n, t - 1))) +} +const ce = "[A-Za-z$_][0-9A-Za-z$_]*", + de = ["as", "in", "of", "if", "for", "while", "finally", "var", "new", "function", "do", "return", "void", "else", + "break", "catch", "instanceof", "with", "throw", "case", "default", "try", "switch", "continue", "typeof", "delete", + "let", "yield", "const", "class", "debugger", "async", "await", "static", "import", "from", "export", "extends" + ], + ge = ["true", "false", "null", "undefined", "NaN", "Infinity"], + ue = ["Object", "Function", "Boolean", "Symbol", "Math", "Date", "Number", "BigInt", "String", "RegExp", "Array", + "Float32Array", "Float64Array", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Int32Array", + "Uint16Array", "Uint32Array", "BigInt64Array", "BigUint64Array", "Set", "Map", "WeakSet", "WeakMap", "ArrayBuffer", + "SharedArrayBuffer", "Atomics", "DataView", "JSON", "Promise", "Generator", "GeneratorFunction", "AsyncFunction", + "Reflect", "Proxy", "Intl", "WebAssembly" + ], + be = ["Error", "EvalError", "InternalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError"], + me = ["setInterval", "setTimeout", "clearInterval", "clearTimeout", "require", "exports", "eval", "isFinite", "isNaN", + "parseFloat", "parseInt", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "unescape" + ], + pe = ["arguments", "this", "super", "console", "window", "document", "localStorage", "module", "global"], + _e = [].concat(me, ue, be); + +function he(e) { + const n = e.regex, + t = ce, + a = { + begin: /<[A-Za-z0-9\\._:-]+/, + end: /\/[A-Za-z0-9\\._:-]+>|\/>/, + isTrulyOpeningTag: (e, n) => { + const t = e[0].length + e.index, + a = e.input[t]; + if ("<" === a || "," === a) return void n.ignoreMatch(); + let i; + ">" === a && (((e, { + after: n + }) => { + const t = "", + k = { + match: [/const|var|let/, /\s+/, t, /\s*/, /=\s*/, /(async\s*)?/, n.lookahead(O)], + keywords: "async", + className: { + 1: "keyword", + 3: "title.function" + }, + contains: [_] + }; + return { + name: "Javascript", + aliases: ["js", "jsx", "mjs", "cjs"], + keywords: i, + exports: { + PARAMS_CONTAINS: p, + CLASS_REFERENCE: f + }, + illegal: /#(?![$_A-z])/, + contains: [e.SHEBANG({ + label: "shebang", + binary: "node", + relevance: 5 + }), { + label: "use_strict", + className: "meta", + relevance: 10, + begin: /^\s*['"]use (strict|asm)['"]/ + }, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, c, d, g, u, { + match: /\$\d+/ + }, o, f, { + className: "attr", + begin: t + n.lookahead(":"), + relevance: 0 + }, k, { + begin: "(" + e.RE_STARTERS_RE + "|\\b(case|return|throw)\\b)\\s*", + keywords: "return throw case", + relevance: 0, + contains: [u, e.REGEXP_MODE, { + className: "function", + begin: O, + returnBegin: !0, + end: "\\s*=>", + contains: [{ + className: "params", + variants: [{ + begin: e.UNDERSCORE_IDENT_RE, + relevance: 0 + }, { + className: null, + begin: /\(\s*\)/, + skip: !0 + }, { + begin: /\(/, + end: /\)/, + excludeBegin: !0, + excludeEnd: !0, + keywords: i, + contains: p + }] + }] + }, { + begin: /,/, + relevance: 0 + }, { + match: /\s+/, + relevance: 0 + }, { + variants: [{ + begin: "<>", + end: "" + }, { + match: /<[A-Za-z0-9\\._:-]+\s*\/>/ + }, { + begin: a.begin, + "on:begin": a.isTrulyOpeningTag, + end: a.end + }], + subLanguage: "xml", + contains: [{ + begin: a.begin, + end: a.end, + skip: !0, + contains: ["self"] + }] + }] + }, E, { + beginKeywords: "while if switch catch for" + }, { + begin: "\\b(?!function)" + e.UNDERSCORE_IDENT_RE + + "\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", + returnBegin: !0, + label: "func.def", + contains: [_, e.inherit(e.TITLE_MODE, { + begin: t, + className: "title.function" + })] + }, { + match: /\.\.\./, + relevance: 0 + }, N, { + match: "\\$" + t, + relevance: 0 + }, { + match: [/\bconstructor(?=\s*\()/], + className: { + 1: "title.function" + }, + contains: [_] + }, y, { + relevance: 0, + match: /\b[A-Z][A-Z_0-9]+\b/, + className: "variable.constant" + }, h, v, { + match: /\$[(.]/ + }] + } +} +const fe = e => m(/\b/, e, /\w$/.test(e) ? /\b/ : /\B/), + Ee = ["Protocol", "Type"].map(fe), + ye = ["init", "self"].map(fe), + we = ["Any", "Self"], + Ne = ["actor", "any", "associatedtype", "async", "await", /as\?/, /as!/, "as", "break", "case", "catch", "class", + "continue", "convenience", "default", "defer", "deinit", "didSet", "distributed", "do", "dynamic", "else", "enum", + "extension", "fallthrough", /fileprivate\(set\)/, "fileprivate", "final", "for", "func", "get", "guard", "if", + "import", "indirect", "infix", /init\?/, /init!/, "inout", /internal\(set\)/, "internal", "in", "is", "isolated", + "nonisolated", "lazy", "let", "mutating", "nonmutating", /open\(set\)/, "open", "operator", "optional", "override", + "postfix", "precedencegroup", "prefix", /private\(set\)/, "private", "protocol", /public\(set\)/, "public", + "repeat", "required", "rethrows", "return", "set", "some", "static", "struct", "subscript", "super", "switch", + "throws", "throw", /try\?/, /try!/, "try", "typealias", /unowned\(safe\)/, /unowned\(unsafe\)/, "unowned", "var", + "weak", "where", "while", "willSet" + ], + ve = ["false", "nil", "true"], + Oe = ["assignment", "associativity", "higherThan", "left", "lowerThan", "none", "right"], + ke = ["#colorLiteral", "#column", "#dsohandle", "#else", "#elseif", "#endif", "#error", "#file", "#fileID", + "#fileLiteral", "#filePath", "#function", "#if", "#imageLiteral", "#keyPath", "#line", "#selector", + "#sourceLocation", "#warn_unqualified_access", "#warning" + ], + xe = ["abs", "all", "any", "assert", "assertionFailure", "debugPrint", "dump", "fatalError", "getVaList", + "isKnownUniquelyReferenced", "max", "min", "numericCast", "pointwiseMax", "pointwiseMin", "precondition", + "preconditionFailure", "print", "readLine", "repeatElement", "sequence", "stride", "swap", + "swift_unboxFromSwiftValueWithType", "transcode", "type", "unsafeBitCast", "unsafeDowncast", "withExtendedLifetime", + "withUnsafeMutablePointer", "withUnsafePointer", "withVaList", "withoutActuallyEscaping", "zip" + ], + Me = p(/[/=\-+!*%<>&|^~?]/, /[\u00A1-\u00A7]/, /[\u00A9\u00AB]/, /[\u00AC\u00AE]/, /[\u00B0\u00B1]/, + /[\u00B6\u00BB\u00BF\u00D7\u00F7]/, /[\u2016-\u2017]/, /[\u2020-\u2027]/, /[\u2030-\u203E]/, /[\u2041-\u2053]/, + /[\u2055-\u205E]/, /[\u2190-\u23FF]/, /[\u2500-\u2775]/, /[\u2794-\u2BFF]/, /[\u2E00-\u2E7F]/, /[\u3001-\u3003]/, + /[\u3008-\u3020]/, /[\u3030]/), + Se = p(Me, /[\u0300-\u036F]/, /[\u1DC0-\u1DFF]/, /[\u20D0-\u20FF]/, /[\uFE00-\uFE0F]/, /[\uFE20-\uFE2F]/), + Ae = m(Me, Se, "*"), + Ce = p(/[a-zA-Z_]/, /[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/, + /[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/, /[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/, + /[\u1E00-\u1FFF]/, /[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/, + /[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/, /[\u2C00-\u2DFF\u2E80-\u2FFF]/, + /[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/, /[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/, + /[\uFE47-\uFEFE\uFF00-\uFFFD]/), + Te = p(Ce, /\d/, /[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/), + Re = m(Ce, Te, "*"), + De = m(/[A-Z]/, Te, "*"), + Ie = ["autoclosure", m(/convention\(/, p("swift", "block", "c"), /\)/), "discardableResult", "dynamicCallable", + "dynamicMemberLookup", "escaping", "frozen", "GKInspectable", "IBAction", "IBDesignable", "IBInspectable", + "IBOutlet", "IBSegueAction", "inlinable", "main", "nonobjc", "NSApplicationMain", "NSCopying", "NSManaged", m( + /objc\(/, Re, /\)/), "objc", "objcMembers", "propertyWrapper", "requires_stored_property_inits", "resultBuilder", + "testable", "UIApplicationMain", "unknown", "usableFromInline" + ], + Le = ["iOS", "iOSApplicationExtension", "macOS", "macOSApplicationExtension", "macCatalyst", + "macCatalystApplicationExtension", "watchOS", "watchOSApplicationExtension", "tvOS", "tvOSApplicationExtension", + "swift" + ]; +var Be = Object.freeze({ + __proto__: null, + grmr_bash: e => { + const n = e.regex, + t = {}, + a = { + begin: /\$\{/, + end: /\}/, + contains: ["self", { + begin: /:-/, + contains: [t] + }] + }; + Object.assign(t, { + className: "variable", + variants: [{ + begin: n.concat(/\$[\w\d#@][\w\d_]*/, "(?![\\w\\d])(?![$])") + }, a] + }); + const i = { + className: "subst", + begin: /\$\(/, + end: /\)/, + contains: [e.BACKSLASH_ESCAPE] + }, + r = { + begin: /<<-?\s*(?=\w+)/, + starts: { + contains: [e.END_SAME_AS_BEGIN({ + begin: /(\w+)/, + end: /(\w+)/, + className: "string" + })] + } + }, + s = { + className: "string", + begin: /"/, + end: /"/, + contains: [e.BACKSLASH_ESCAPE, t, i] + }; + i.contains.push(s); + const o = { + begin: /\$?\(\(/, + end: /\)\)/, + contains: [{ + begin: /\d+#[0-9a-f]+/, + className: "number" + }, e.NUMBER_MODE, t] + }, + l = e.SHEBANG({ + binary: "(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)", + relevance: 10 + }), + c = { + className: "function", + begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/, + returnBegin: !0, + contains: [e.inherit(e.TITLE_MODE, { + begin: /\w[\w\d_]*/ + })], + relevance: 0 + }; + return { + name: "Bash", + aliases: ["sh"], + keywords: { + $pattern: /\b[a-z][a-z0-9._-]+\b/, + keyword: ["if", "then", "else", "elif", "fi", "for", "while", "in", "do", "done", "case", "esac", + "function" + ], + literal: ["true", "false"], + built_in: ["break", "cd", "continue", "eval", "exec", "exit", "export", "getopts", "hash", "pwd", + "readonly", "return", "shift", "test", "times", "trap", "umask", "unset", "alias", "bind", "builtin", + "caller", "command", "declare", "echo", "enable", "help", "let", "local", "logout", "mapfile", + "printf", "read", "readarray", "source", "type", "typeset", "ulimit", "unalias", "set", "shopt", + "autoload", "bg", "bindkey", "bye", "cap", "chdir", "clone", "comparguments", "compcall", "compctl", + "compdescribe", "compfiles", "compgroups", "compquote", "comptags", "comptry", "compvalues", "dirs", + "disable", "disown", "echotc", "echoti", "emulate", "fc", "fg", "float", "functions", "getcap", + "getln", "history", "integer", "jobs", "kill", "limit", "log", "noglob", "popd", "print", "pushd", + "pushln", "rehash", "sched", "setcap", "setopt", "stat", "suspend", "ttyctl", "unfunction", "unhash", + "unlimit", "unsetopt", "vared", "wait", "whence", "where", "which", "zcompile", "zformat", "zftp", + "zle", "zmodload", "zparseopts", "zprof", "zpty", "zregexparse", "zsocket", "zstyle", "ztcp", "chcon", + "chgrp", "chown", "chmod", "cp", "dd", "df", "dir", "dircolors", "ln", "ls", "mkdir", "mkfifo", + "mknod", "mktemp", "mv", "realpath", "rm", "rmdir", "shred", "sync", "touch", "truncate", "vdir", + "b2sum", "base32", "base64", "cat", "cksum", "comm", "csplit", "cut", "expand", "fmt", "fold", "head", + "join", "md5sum", "nl", "numfmt", "od", "paste", "ptx", "pr", "sha1sum", "sha224sum", "sha256sum", + "sha384sum", "sha512sum", "shuf", "sort", "split", "sum", "tac", "tail", "tr", "tsort", "unexpand", + "uniq", "wc", "arch", "basename", "chroot", "date", "dirname", "du", "echo", "env", "expr", "factor", + "groups", "hostid", "id", "link", "logname", "nice", "nohup", "nproc", "pathchk", "pinky", "printenv", + "printf", "pwd", "readlink", "runcon", "seq", "sleep", "stat", "stdbuf", "stty", "tee", "test", + "timeout", "tty", "uname", "unlink", "uptime", "users", "who", "whoami", "yes" + ] + }, + contains: [l, e.SHEBANG(), c, o, e.HASH_COMMENT_MODE, r, { + match: /(\/[a-z._-]+)+/ + }, s, { + className: "", + begin: /\\"/ + }, { + className: "string", + begin: /'/, + end: /'/ + }, t] + } + }, + grmr_c: e => { + const n = e.regex, + t = e.COMMENT("//", "$", { + contains: [{ + begin: /\\\n/ + }] + }), + a = "[a-zA-Z_]\\w*::", + i = "(decltype\\(auto\\)|" + n.optional(a) + "[a-zA-Z_]\\w*" + n.optional("<[^<>]+>") + ")", + r = { + className: "type", + variants: [{ + begin: "\\b[a-z\\d_]*_t\\b" + }, { + match: /\batomic_[a-z]{3,6}\b/ + }] + }, + s = { + className: "string", + variants: [{ + begin: '(u8?|U|L)?"', + end: '"', + illegal: "\\n", + contains: [e.BACKSLASH_ESCAPE] + }, { + begin: "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", + end: "'", + illegal: "." + }, e.END_SAME_AS_BEGIN({ + begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/, + end: /\)([^()\\ ]{0,16})"/ + })] + }, + o = { + className: "number", + variants: [{ + begin: "\\b(0b[01']+)" + }, { + begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" + }, { + begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" + }], + relevance: 0 + }, + l = { + className: "meta", + begin: /#\s*[a-z]+\b/, + end: /$/, + keywords: { + keyword: "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" + }, + contains: [{ + begin: /\\\n/, + relevance: 0 + }, e.inherit(s, { + className: "string" + }), { + className: "string", + begin: /<.*?>/ + }, t, e.C_BLOCK_COMMENT_MODE] + }, + c = { + className: "title", + begin: n.optional(a) + e.IDENT_RE, + relevance: 0 + }, + d = n.optional(a) + e.IDENT_RE + "\\s*\\(", + g = { + keyword: ["asm", "auto", "break", "case", "continue", "default", "do", "else", "enum", "extern", "for", + "fortran", "goto", "if", "inline", "register", "restrict", "return", "sizeof", "struct", "switch", + "typedef", "union", "volatile", "while", "_Alignas", "_Alignof", "_Atomic", "_Generic", "_Noreturn", + "_Static_assert", "_Thread_local", "alignas", "alignof", "noreturn", "static_assert", "thread_local", + "_Pragma" + ], + type: ["float", "double", "signed", "unsigned", "int", "short", "long", "char", "void", "_Bool", + "_Complex", "_Imaginary", "_Decimal32", "_Decimal64", "_Decimal128", "const", "static", "complex", + "bool", "imaginary" + ], + literal: "true false NULL", + built_in: "std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" + }, + u = [l, r, t, e.C_BLOCK_COMMENT_MODE, o, s], + b = { + variants: [{ + begin: /=/, + end: /;/ + }, { + begin: /\(/, + end: /\)/ + }, { + beginKeywords: "new throw return else", + end: /;/ + }], + keywords: g, + contains: u.concat([{ + begin: /\(/, + end: /\)/, + keywords: g, + contains: u.concat(["self"]), + relevance: 0 + }]), + relevance: 0 + }, + m = { + begin: "(" + i + "[\\*&\\s]+)+" + d, + returnBegin: !0, + end: /[{;=]/, + excludeEnd: !0, + keywords: g, + illegal: /[^\w\s\*&:<>.]/, + contains: [{ + begin: "decltype\\(auto\\)", + keywords: g, + relevance: 0 + }, { + begin: d, + returnBegin: !0, + contains: [e.inherit(c, { + className: "title.function" + })], + relevance: 0 + }, { + relevance: 0, + match: /,/ + }, { + className: "params", + begin: /\(/, + end: /\)/, + keywords: g, + relevance: 0, + contains: [t, e.C_BLOCK_COMMENT_MODE, s, o, r, { + begin: /\(/, + end: /\)/, + keywords: g, + relevance: 0, + contains: ["self", t, e.C_BLOCK_COMMENT_MODE, s, o, r] + }] + }, r, t, e.C_BLOCK_COMMENT_MODE, l] + }; + return { + name: "C", + aliases: ["h"], + keywords: g, + disableAutodetect: !0, + illegal: "=]/, + contains: [{ + beginKeywords: "final class struct" + }, e.TITLE_MODE] + }]), + exports: { + preprocessor: l, + strings: s, + keywords: g + } + } + }, + grmr_cpp: e => { + const n = e.regex, + t = e.COMMENT("//", "$", { + contains: [{ + begin: /\\\n/ + }] + }), + a = "[a-zA-Z_]\\w*::", + i = "(?!struct)(decltype\\(auto\\)|" + n.optional(a) + "[a-zA-Z_]\\w*" + n.optional("<[^<>]+>") + ")", + r = { + className: "type", + begin: "\\b[a-z\\d_]*_t\\b" + }, + s = { + className: "string", + variants: [{ + begin: '(u8?|U|L)?"', + end: '"', + illegal: "\\n", + contains: [e.BACKSLASH_ESCAPE] + }, { + begin: "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", + end: "'", + illegal: "." + }, e.END_SAME_AS_BEGIN({ + begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/, + end: /\)([^()\\ ]{0,16})"/ + })] + }, + o = { + className: "number", + variants: [{ + begin: "\\b(0b[01']+)" + }, { + begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" + }, { + begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" + }], + relevance: 0 + }, + l = { + className: "meta", + begin: /#\s*[a-z]+\b/, + end: /$/, + keywords: { + keyword: "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" + }, + contains: [{ + begin: /\\\n/, + relevance: 0 + }, e.inherit(s, { + className: "string" + }), { + className: "string", + begin: /<.*?>/ + }, t, e.C_BLOCK_COMMENT_MODE] + }, + c = { + className: "title", + begin: n.optional(a) + e.IDENT_RE, + relevance: 0 + }, + d = n.optional(a) + e.IDENT_RE + "\\s*\\(", + g = { + type: ["bool", "char", "char16_t", "char32_t", "char8_t", "double", "float", "int", "long", "short", + "void", "wchar_t", "unsigned", "signed", "const", "static" + ], + keyword: ["alignas", "alignof", "and", "and_eq", "asm", "atomic_cancel", "atomic_commit", + "atomic_noexcept", "auto", "bitand", "bitor", "break", "case", "catch", "class", "co_await", + "co_return", "co_yield", "compl", "concept", "const_cast|10", "consteval", "constexpr", "constinit", + "continue", "decltype", "default", "delete", "do", "dynamic_cast|10", "else", "enum", "explicit", + "export", "extern", "false", "final", "for", "friend", "goto", "if", "import", "inline", "module", + "mutable", "namespace", "new", "noexcept", "not", "not_eq", "nullptr", "operator", "or", "or_eq", + "override", "private", "protected", "public", "reflexpr", "register", "reinterpret_cast|10", + "requires", "return", "sizeof", "static_assert", "static_cast|10", "struct", "switch", "synchronized", + "template", "this", "thread_local", "throw", "transaction_safe", "transaction_safe_dynamic", "true", + "try", "typedef", "typeid", "typename", "union", "using", "virtual", "volatile", "while", "xor", + "xor_eq" + ], + literal: ["NULL", "false", "nullopt", "nullptr", "true"], + built_in: ["_Pragma"], + _type_hints: ["any", "auto_ptr", "barrier", "binary_semaphore", "bitset", "complex", "condition_variable", + "condition_variable_any", "counting_semaphore", "deque", "false_type", "future", "imaginary", + "initializer_list", "istringstream", "jthread", "latch", "lock_guard", "multimap", "multiset", + "mutex", "optional", "ostringstream", "packaged_task", "pair", "promise", "priority_queue", "queue", + "recursive_mutex", "recursive_timed_mutex", "scoped_lock", "set", "shared_future", "shared_lock", + "shared_mutex", "shared_timed_mutex", "shared_ptr", "stack", "string_view", "stringstream", + "timed_mutex", "thread", "true_type", "tuple", "unique_lock", "unique_ptr", "unordered_map", + "unordered_multimap", "unordered_multiset", "unordered_set", "variant", "vector", "weak_ptr", + "wstring", "wstring_view" + ] + }, + u = { + className: "function.dispatch", + relevance: 0, + keywords: { + _hint: ["abort", "abs", "acos", "apply", "as_const", "asin", "atan", "atan2", "calloc", "ceil", "cerr", + "cin", "clog", "cos", "cosh", "cout", "declval", "endl", "exchange", "exit", "exp", "fabs", "floor", + "fmod", "forward", "fprintf", "fputs", "free", "frexp", "fscanf", "future", "invoke", "isalnum", + "isalpha", "iscntrl", "isdigit", "isgraph", "islower", "isprint", "ispunct", "isspace", "isupper", + "isxdigit", "labs", "launder", "ldexp", "log", "log10", "make_pair", "make_shared", + "make_shared_for_overwrite", "make_tuple", "make_unique", "malloc", "memchr", "memcmp", "memcpy", + "memset", "modf", "move", "pow", "printf", "putchar", "puts", "realloc", "scanf", "sin", "sinh", + "snprintf", "sprintf", "sqrt", "sscanf", "std", "stderr", "stdin", "stdout", "strcat", "strchr", + "strcmp", "strcpy", "strcspn", "strlen", "strncat", "strncmp", "strncpy", "strpbrk", "strrchr", + "strspn", "strstr", "swap", "tan", "tanh", "terminate", "to_underlying", "tolower", "toupper", + "vfprintf", "visit", "vprintf", "vsprintf" + ] + }, + begin: n.concat(/\b/, /(?!decltype)/, /(?!if)/, /(?!for)/, /(?!switch)/, /(?!while)/, e.IDENT_RE, n + .lookahead(/(<[^<>]+>|)\s*\(/)) + }, + b = [u, l, r, t, e.C_BLOCK_COMMENT_MODE, o, s], + m = { + variants: [{ + begin: /=/, + end: /;/ + }, { + begin: /\(/, + end: /\)/ + }, { + beginKeywords: "new throw return else", + end: /;/ + }], + keywords: g, + contains: b.concat([{ + begin: /\(/, + end: /\)/, + keywords: g, + contains: b.concat(["self"]), + relevance: 0 + }]), + relevance: 0 + }, + p = { + className: "function", + begin: "(" + i + "[\\*&\\s]+)+" + d, + returnBegin: !0, + end: /[{;=]/, + excludeEnd: !0, + keywords: g, + illegal: /[^\w\s\*&:<>.]/, + contains: [{ + begin: "decltype\\(auto\\)", + keywords: g, + relevance: 0 + }, { + begin: d, + returnBegin: !0, + contains: [c], + relevance: 0 + }, { + begin: /::/, + relevance: 0 + }, { + begin: /:/, + endsWithParent: !0, + contains: [s, o] + }, { + relevance: 0, + match: /,/ + }, { + className: "params", + begin: /\(/, + end: /\)/, + keywords: g, + relevance: 0, + contains: [t, e.C_BLOCK_COMMENT_MODE, s, o, r, { + begin: /\(/, + end: /\)/, + keywords: g, + relevance: 0, + contains: ["self", t, e.C_BLOCK_COMMENT_MODE, s, o, r] + }] + }, r, t, e.C_BLOCK_COMMENT_MODE, l] + }; + return { + name: "C++", + aliases: ["cc", "c++", "h++", "hpp", "hh", "hxx", "cxx"], + keywords: g, + illegal: "", + keywords: g, + contains: ["self", r] + }, { + begin: e.IDENT_RE + "::", + keywords: g + }, { + match: [/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/, /\s+/, /\w+/], + className: { + 1: "keyword", + 3: "title.class" + } + }]) + } + }, + grmr_csharp: e => { + const n = { + keyword: ["abstract", "as", "base", "break", "case", "catch", "class", "const", "continue", "do", "else", + "event", "explicit", "extern", "finally", "fixed", "for", "foreach", "goto", "if", "implicit", "in", + "interface", "internal", "is", "lock", "namespace", "new", "operator", "out", "override", "params", + "private", "protected", "public", "readonly", "record", "ref", "return", "scoped", "sealed", "sizeof", + "stackalloc", "static", "struct", "switch", "this", "throw", "try", "typeof", "unchecked", "unsafe", + "using", "virtual", "void", "volatile", "while" + ].concat(["add", "alias", "and", "ascending", "async", "await", "by", "descending", "equals", "from", + "get", "global", "group", "init", "into", "join", "let", "nameof", "not", "notnull", "on", "or", + "orderby", "partial", "remove", "select", "set", "unmanaged", "value|0", "var", "when", "where", + "with", "yield" + ]), + built_in: ["bool", "byte", "char", "decimal", "delegate", "double", "dynamic", "enum", "float", "int", + "long", "nint", "nuint", "object", "sbyte", "short", "string", "ulong", "uint", "ushort" + ], + literal: ["default", "false", "null", "true"] + }, + t = e.inherit(e.TITLE_MODE, { + begin: "[a-zA-Z](\\.?\\w)*" + }), + a = { + className: "number", + variants: [{ + begin: "\\b(0b[01']+)" + }, { + begin: "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)" + }, { + begin: "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" + }], + relevance: 0 + }, + i = { + className: "string", + begin: '@"', + end: '"', + contains: [{ + begin: '""' + }] + }, + r = e.inherit(i, { + illegal: /\n/ + }), + s = { + className: "subst", + begin: /\{/, + end: /\}/, + keywords: n + }, + o = e.inherit(s, { + illegal: /\n/ + }), + l = { + className: "string", + begin: /\$"/, + end: '"', + illegal: /\n/, + contains: [{ + begin: /\{\{/ + }, { + begin: /\}\}/ + }, e.BACKSLASH_ESCAPE, o] + }, + c = { + className: "string", + begin: /\$@"/, + end: '"', + contains: [{ + begin: /\{\{/ + }, { + begin: /\}\}/ + }, { + begin: '""' + }, s] + }, + d = e.inherit(c, { + illegal: /\n/, + contains: [{ + begin: /\{\{/ + }, { + begin: /\}\}/ + }, { + begin: '""' + }, o] + }); + s.contains = [c, l, i, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, a, e.C_BLOCK_COMMENT_MODE], + o.contains = [d, l, r, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, a, e.inherit(e.C_BLOCK_COMMENT_MODE, { + illegal: /\n/ + })]; + const g = { + variants: [c, l, i, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] + }, + u = { + begin: "<", + end: ">", + contains: [{ + beginKeywords: "in out" + }, t] + }, + b = e.IDENT_RE + "(<" + e.IDENT_RE + "(\\s*,\\s*" + e.IDENT_RE + ")*>)?(\\[\\])?", + m = { + begin: "@" + e.IDENT_RE, + relevance: 0 + }; + return { + name: "C#", + aliases: ["cs", "c#"], + keywords: n, + illegal: /::/, + contains: [e.COMMENT("///", "$", { + returnBegin: !0, + contains: [{ + className: "doctag", + variants: [{ + begin: "///", + relevance: 0 + }, { + begin: "\x3c!--|--\x3e" + }, { + begin: "" + }] + }] + }), e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, { + className: "meta", + begin: "#", + end: "$", + keywords: { + keyword: "if else elif endif define undef warning error line region endregion pragma checksum" + } + }, g, a, { + beginKeywords: "class interface", + relevance: 0, + end: /[{;=]/, + illegal: /[^\s:,]/, + contains: [{ + beginKeywords: "where class" + }, t, u, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + beginKeywords: "namespace", + relevance: 0, + end: /[{;=]/, + illegal: /[^\s:]/, + contains: [t, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + beginKeywords: "record", + relevance: 0, + end: /[{;=]/, + illegal: /[^\s:]/, + contains: [t, u, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + className: "meta", + begin: "^\\s*\\[(?=[\\w])", + excludeBegin: !0, + end: "\\]", + excludeEnd: !0, + contains: [{ + className: "string", + begin: /"/, + end: /"/ + }] + }, { + beginKeywords: "new return throw await else", + relevance: 0 + }, { + className: "function", + begin: "(" + b + "\\s+)+" + e.IDENT_RE + "\\s*(<[^=]+>\\s*)?\\(", + returnBegin: !0, + end: /\s*[{;=]/, + excludeEnd: !0, + keywords: n, + contains: [{ + beginKeywords: "public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", + relevance: 0 + }, { + begin: e.IDENT_RE + "\\s*(<[^=]+>\\s*)?\\(", + returnBegin: !0, + contains: [e.TITLE_MODE, u], + relevance: 0 + }, { + match: /\(\)/ + }, { + className: "params", + begin: /\(/, + end: /\)/, + excludeBegin: !0, + excludeEnd: !0, + keywords: n, + relevance: 0, + contains: [g, a, e.C_BLOCK_COMMENT_MODE] + }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, m] + } + }, + grmr_css: e => { + const n = e.regex, + t = J(e), + a = [e.APOS_STRING_MODE, e.QUOTE_STRING_MODE]; + return { + name: "CSS", + case_insensitive: !0, + illegal: /[=|'\$]/, + keywords: { + keyframePosition: "from to" + }, + classNameAliases: { + keyframePosition: "selector-tag" + }, + contains: [t.BLOCK_COMMENT, { + begin: /-(webkit|moz|ms|o)-(?=[a-z])/ + }, t.CSS_NUMBER_MODE, { + className: "selector-id", + begin: /#[A-Za-z0-9_-]+/, + relevance: 0 + }, { + className: "selector-class", + begin: "\\.[a-zA-Z-][a-zA-Z0-9_-]*", + relevance: 0 + }, t.ATTRIBUTE_SELECTOR_MODE, { + className: "selector-pseudo", + variants: [{ + begin: ":(" + ne.join("|") + ")" + }, { + begin: ":(:)?(" + te.join("|") + ")" + }] + }, t.CSS_VARIABLE, { + className: "attribute", + begin: "\\b(" + ae.join("|") + ")\\b" + }, { + begin: /:/, + end: /[;}{]/, + contains: [t.BLOCK_COMMENT, t.HEXCOLOR, t.IMPORTANT, t.CSS_NUMBER_MODE, ...a, { + begin: /(url|data-uri)\(/, + end: /\)/, + relevance: 0, + keywords: { + built_in: "url data-uri" + }, + contains: [...a, { + className: "string", + begin: /[^)]/, + endsWithParent: !0, + excludeEnd: !0 + }] + }, t.FUNCTION_DISPATCH] + }, { + begin: n.lookahead(/@/), + end: "[{;]", + relevance: 0, + illegal: /:/, + contains: [{ + className: "keyword", + begin: /@-?\w[\w]*(-\w+)*/ + }, { + begin: /\s/, + endsWithParent: !0, + excludeEnd: !0, + relevance: 0, + keywords: { + $pattern: /[a-z-]+/, + keyword: "and or not only", + attribute: ee.join(" ") + }, + contains: [{ + begin: /[a-z-]+(?=:)/, + className: "attribute" + }, ...a, t.CSS_NUMBER_MODE] + }] + }, { + className: "selector-tag", + begin: "\\b(" + Y.join("|") + ")\\b" + }] + } + }, + grmr_diff: e => { + const n = e.regex; + return { + name: "Diff", + aliases: ["patch"], + contains: [{ + className: "meta", + relevance: 10, + match: n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/, /^\*\*\* +\d+,\d+ +\*\*\*\*$/, /^--- +\d+,\d+ +----$/) + }, { + className: "comment", + variants: [{ + begin: n.either(/Index: /, /^index/, /={3,}/, /^-{3}/, /^\*{3} /, /^\+{3}/, /^diff --git/), + end: /$/ + }, { + match: /^\*{15}$/ + }] + }, { + className: "addition", + begin: /^\+/, + end: /$/ + }, { + className: "deletion", + begin: /^-/, + end: /$/ + }, { + className: "addition", + begin: /^!/, + end: /$/ + }] + } + }, + grmr_go: e => { + const n = { + keyword: ["break", "case", "chan", "const", "continue", "default", "defer", "else", "fallthrough", "for", + "func", "go", "goto", "if", "import", "interface", "map", "package", "range", "return", "select", + "struct", "switch", "type", "var" + ], + type: ["bool", "byte", "complex64", "complex128", "error", "float32", "float64", "int8", "int16", "int32", + "int64", "string", "uint8", "uint16", "uint32", "uint64", "int", "uint", "uintptr", "rune" + ], + literal: ["true", "false", "iota", "nil"], + built_in: ["append", "cap", "close", "complex", "copy", "imag", "len", "make", "new", "panic", "print", + "println", "real", "recover", "delete" + ] + }; + return { + name: "Go", + aliases: ["golang"], + keywords: n, + illegal: " { + const n = e.regex; + return { + name: "GraphQL", + aliases: ["gql"], + case_insensitive: !0, + disableAutodetect: !1, + keywords: { + keyword: ["query", "mutation", "subscription", "type", "input", "schema", "directive", "interface", + "union", "scalar", "fragment", "enum", "on" + ], + literal: ["true", "false", "null"] + }, + contains: [e.HASH_COMMENT_MODE, e.QUOTE_STRING_MODE, e.NUMBER_MODE, { + scope: "punctuation", + match: /[.]{3}/, + relevance: 0 + }, { + scope: "punctuation", + begin: /[\!\(\)\:\=\[\]\{\|\}]{1}/, + relevance: 0 + }, { + scope: "variable", + begin: /\$/, + end: /\W/, + excludeEnd: !0, + relevance: 0 + }, { + scope: "meta", + match: /@\w+/, + excludeEnd: !0 + }, { + scope: "symbol", + begin: n.concat(/[_A-Za-z][_0-9A-Za-z]*/, n.lookahead(/\s*:/)), + relevance: 0 + }], + illegal: [/[;<']/, /BEGIN/] + } + }, + grmr_ini: e => { + const n = e.regex, + t = { + className: "number", + relevance: 0, + variants: [{ + begin: /([+-]+)?[\d]+_[\d_]+/ + }, { + begin: e.NUMBER_RE + }] + }, + a = e.COMMENT(); + a.variants = [{ + begin: /;/, + end: /$/ + }, { + begin: /#/, + end: /$/ + }]; + const i = { + className: "variable", + variants: [{ + begin: /\$[\w\d"][\w\d_]*/ + }, { + begin: /\$\{(.*?)\}/ + }] + }, + r = { + className: "literal", + begin: /\bon|off|true|false|yes|no\b/ + }, + s = { + className: "string", + contains: [e.BACKSLASH_ESCAPE], + variants: [{ + begin: "'''", + end: "'''", + relevance: 10 + }, { + begin: '"""', + end: '"""', + relevance: 10 + }, { + begin: '"', + end: '"' + }, { + begin: "'", + end: "'" + }] + }, + o = { + begin: /\[/, + end: /\]/, + contains: [a, r, i, s, t, "self"], + relevance: 0 + }, + l = n.either(/[A-Za-z0-9_-]+/, /"(\\"|[^"])*"/, /'[^']*'/); + return { + name: "TOML, also INI", + aliases: ["toml"], + case_insensitive: !0, + illegal: /\S/, + contains: [a, { + className: "section", + begin: /\[+/, + end: /\]+/ + }, { + begin: n.concat(l, "(\\s*\\.\\s*", l, ")*", n.lookahead(/\s*=\s*[^#\s]/)), + className: "attr", + starts: { + end: /$/, + contains: [a, o, r, i, s, t] + } + }] + } + }, + grmr_java: e => { + const n = e.regex, + t = "[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*", + a = t + le("(?:<" + t + "~~~(?:\\s*,\\s*" + t + "~~~)*>)?", /~~~/g, 2), + i = { + keyword: ["synchronized", "abstract", "private", "var", "static", "if", "const ", "for", "while", + "strictfp", "finally", "protected", "import", "native", "final", "void", "enum", "else", "break", + "transient", "catch", "instanceof", "volatile", "case", "assert", "package", "default", "public", + "try", "switch", "continue", "throws", "protected", "public", "private", "module", "requires", + "exports", "do", "sealed", "yield", "permits" + ], + literal: ["false", "true", "null"], + type: ["char", "boolean", "long", "float", "int", "byte", "short", "double"], + built_in: ["super", "this"] + }, + r = { + className: "meta", + begin: "@" + t, + contains: [{ + begin: /\(/, + end: /\)/, + contains: ["self"] + }] + }, + s = { + className: "params", + begin: /\(/, + end: /\)/, + keywords: i, + relevance: 0, + contains: [e.C_BLOCK_COMMENT_MODE], + endsParent: !0 + }; + return { + name: "Java", + aliases: ["jsp"], + keywords: i, + illegal: /<\/|#/, + contains: [e.COMMENT("/\\*\\*", "\\*/", { + relevance: 0, + contains: [{ + begin: /\w+@/, + relevance: 0 + }, { + className: "doctag", + begin: "@[A-Za-z]+" + }] + }), { + begin: /import java\.[a-z]+\./, + keywords: "import", + relevance: 2 + }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, { + begin: /"""/, + end: /"""/, + className: "string", + contains: [e.BACKSLASH_ESCAPE] + }, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, { + match: [/\b(?:class|interface|enum|extends|implements|new)/, /\s+/, t], + className: { + 1: "keyword", + 3: "title.class" + } + }, { + match: /non-sealed/, + scope: "keyword" + }, { + begin: [n.concat(/(?!else)/, t), /\s+/, t, /\s+/, /=(?!=)/], + className: { + 1: "type", + 3: "variable", + 5: "operator" + } + }, { + begin: [/record/, /\s+/, t], + className: { + 1: "keyword", + 3: "title.class" + }, + contains: [s, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + beginKeywords: "new throw return else", + relevance: 0 + }, { + begin: ["(?:" + a + "\\s+)", e.UNDERSCORE_IDENT_RE, /\s*(?=\()/], + className: { + 2: "title.function" + }, + keywords: i, + contains: [{ + className: "params", + begin: /\(/, + end: /\)/, + keywords: i, + relevance: 0, + contains: [r, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, oe, e.C_BLOCK_COMMENT_MODE] + }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, oe, r] + } + }, + grmr_javascript: he, + grmr_json: e => { + const n = ["true", "false", "null"], + t = { + scope: "literal", + beginKeywords: n.join(" ") + }; + return { + name: "JSON", + keywords: { + literal: n + }, + contains: [{ + className: "attr", + begin: /"(\\.|[^\\"\r\n])*"(?=\s*:)/, + relevance: 1.01 + }, { + match: /[{}[\],:]/, + className: "punctuation", + relevance: 0 + }, e.QUOTE_STRING_MODE, t, e.C_NUMBER_MODE, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE], + illegal: "\\S" + } + }, + grmr_kotlin: e => { + const n = { + keyword: "abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", + built_in: "Byte Short Char Int Long Boolean Float Double Void Unit Nothing", + literal: "true false null" + }, + t = { + className: "symbol", + begin: e.UNDERSCORE_IDENT_RE + "@" + }, + a = { + className: "subst", + begin: /\$\{/, + end: /\}/, + contains: [e.C_NUMBER_MODE] + }, + i = { + className: "variable", + begin: "\\$" + e.UNDERSCORE_IDENT_RE + }, + r = { + className: "string", + variants: [{ + begin: '"""', + end: '"""(?=[^"])', + contains: [i, a] + }, { + begin: "'", + end: "'", + illegal: /\n/, + contains: [e.BACKSLASH_ESCAPE] + }, { + begin: '"', + end: '"', + illegal: /\n/, + contains: [e.BACKSLASH_ESCAPE, i, a] + }] + }; + a.contains.push(r); + const s = { + className: "meta", + begin: "@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*" + e + .UNDERSCORE_IDENT_RE + ")?" + }, + o = { + className: "meta", + begin: "@" + e.UNDERSCORE_IDENT_RE, + contains: [{ + begin: /\(/, + end: /\)/, + contains: [e.inherit(r, { + className: "string" + }), "self"] + }] + }, + l = oe, + c = e.COMMENT("/\\*", "\\*/", { + contains: [e.C_BLOCK_COMMENT_MODE] + }), + d = { + variants: [{ + className: "type", + begin: e.UNDERSCORE_IDENT_RE + }, { + begin: /\(/, + end: /\)/, + contains: [] + }] + }, + g = d; + return g.variants[1].contains = [d], d.variants[1].contains = [g], { + name: "Kotlin", + aliases: ["kt", "kts"], + keywords: n, + contains: [e.COMMENT("/\\*\\*", "\\*/", { + relevance: 0, + contains: [{ + className: "doctag", + begin: "@[A-Za-z]+" + }] + }), e.C_LINE_COMMENT_MODE, c, { + className: "keyword", + begin: /\b(break|continue|return|this)\b/, + starts: { + contains: [{ + className: "symbol", + begin: /@\w+/ + }] + } + }, t, s, o, { + className: "function", + beginKeywords: "fun", + end: "[(]|$", + returnBegin: !0, + excludeEnd: !0, + keywords: n, + relevance: 5, + contains: [{ + begin: e.UNDERSCORE_IDENT_RE + "\\s*\\(", + returnBegin: !0, + relevance: 0, + contains: [e.UNDERSCORE_TITLE_MODE] + }, { + className: "type", + begin: //, + keywords: "reified", + relevance: 0 + }, { + className: "params", + begin: /\(/, + end: /\)/, + endsParent: !0, + keywords: n, + relevance: 0, + contains: [{ + begin: /:/, + end: /[=,\/]/, + endsWithParent: !0, + contains: [d, e.C_LINE_COMMENT_MODE, c], + relevance: 0 + }, e.C_LINE_COMMENT_MODE, c, s, o, r, e.C_NUMBER_MODE] + }, c] + }, { + begin: [/class|interface|trait/, /\s+/, e.UNDERSCORE_IDENT_RE], + beginScope: { + 3: "title.class" + }, + keywords: "class interface trait", + end: /[:\{(]|$/, + excludeEnd: !0, + illegal: "extends implements", + contains: [{ + beginKeywords: "public protected internal private constructor" + }, e.UNDERSCORE_TITLE_MODE, { + className: "type", + begin: //, + excludeBegin: !0, + excludeEnd: !0, + relevance: 0 + }, { + className: "type", + begin: /[,:]\s*/, + end: /[<\(,){\s]|$/, + excludeBegin: !0, + returnEnd: !0 + }, s, o] + }, r, { + className: "meta", + begin: "^#!/usr/bin/env", + end: "$", + illegal: "\n" + }, l] + } + }, + grmr_less: e => { + const n = J(e), + t = ie, + a = "([\\w-]+|@\\{[\\w-]+\\})", + i = [], + r = [], + s = e => ({ + className: "string", + begin: "~?" + e + ".*?" + e + }), + o = (e, n, t) => ({ + className: e, + begin: n, + relevance: t + }), + l = { + $pattern: /[a-z-]+/, + keyword: "and or not only", + attribute: ee.join(" ") + }, + c = { + begin: "\\(", + end: "\\)", + contains: r, + keywords: l, + relevance: 0 + }; + r.push(e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, s("'"), s('"'), n.CSS_NUMBER_MODE, { + begin: "(url|data-uri)\\(", + starts: { + className: "string", + end: "[\\)\\n]", + excludeEnd: !0 + } + }, n.HEXCOLOR, c, o("variable", "@@?[\\w-]+", 10), o("variable", "@\\{[\\w-]+\\}"), o("built_in", + "~?`[^`]*?`"), { + className: "attribute", + begin: "[\\w-]+\\s*:", + end: ":", + returnBegin: !0, + excludeEnd: !0 + }, n.IMPORTANT, { + beginKeywords: "and not" + }, n.FUNCTION_DISPATCH); + const d = r.concat({ + begin: /\{/, + end: /\}/, + contains: i + }), + g = { + beginKeywords: "when", + endsWithParent: !0, + contains: [{ + beginKeywords: "and not" + }].concat(r) + }, + u = { + begin: a + "\\s*:", + returnBegin: !0, + end: /[;}]/, + relevance: 0, + contains: [{ + begin: /-(webkit|moz|ms|o)-/ + }, n.CSS_VARIABLE, { + className: "attribute", + begin: "\\b(" + ae.join("|") + ")\\b", + end: /(?=:)/, + starts: { + endsWithParent: !0, + illegal: "[<=$]", + relevance: 0, + contains: r + } + }] + }, + b = { + className: "keyword", + begin: "@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", + starts: { + end: "[;{}]", + keywords: l, + returnEnd: !0, + contains: r, + relevance: 0 + } + }, + m = { + className: "variable", + variants: [{ + begin: "@[\\w-]+\\s*:", + relevance: 15 + }, { + begin: "@[\\w-]+" + }], + starts: { + end: "[;}]", + returnEnd: !0, + contains: d + } + }, + p = { + variants: [{ + begin: "[\\.#:&\\[>]", + end: "[;{}]" + }, { + begin: a, + end: /\{/ + }], + returnBegin: !0, + returnEnd: !0, + illegal: "[<='$\"]", + relevance: 0, + contains: [e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, g, o("keyword", "all\\b"), o("variable", + "@\\{[\\w-]+\\}"), { + begin: "\\b(" + Y.join("|") + ")\\b", + className: "selector-tag" + }, n.CSS_NUMBER_MODE, o("selector-tag", a, 0), o("selector-id", "#" + a), o("selector-class", "\\." + + a, 0), o("selector-tag", "&", 0), n.ATTRIBUTE_SELECTOR_MODE, { + className: "selector-pseudo", + begin: ":(" + ne.join("|") + ")" + }, { + className: "selector-pseudo", + begin: ":(:)?(" + te.join("|") + ")" + }, { + begin: /\(/, + end: /\)/, + relevance: 0, + contains: d + }, { + begin: "!important" + }, n.FUNCTION_DISPATCH] + }, + _ = { + begin: `[\\w-]+:(:)?(${t.join("|")})`, + returnBegin: !0, + contains: [p] + }; + return i.push(e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, b, m, _, u, p, g, n.FUNCTION_DISPATCH), { + name: "Less", + case_insensitive: !0, + illegal: "[=>'/<($\"]", + contains: i + } + }, + grmr_lua: e => { + const n = "\\[=*\\[", + t = "\\]=*\\]", + a = { + begin: n, + end: t, + contains: ["self"] + }, + i = [e.COMMENT("--(?!\\[=*\\[)", "$"), e.COMMENT("--\\[=*\\[", t, { + contains: [a], + relevance: 10 + })]; + return { + name: "Lua", + keywords: { + $pattern: e.UNDERSCORE_IDENT_RE, + literal: "true false nil", + keyword: "and break do else elseif end for goto if in local not or repeat return then until while", + built_in: "_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" + }, + contains: i.concat([{ + className: "function", + beginKeywords: "function", + end: "\\)", + contains: [e.inherit(e.TITLE_MODE, { + begin: "([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*" + }), { + className: "params", + begin: "\\(", + endsWithParent: !0, + contains: i + }].concat(i) + }, e.C_NUMBER_MODE, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE, { + className: "string", + begin: n, + end: t, + contains: [a], + relevance: 5 + }]) + } + }, + grmr_makefile: e => { + const n = { + className: "variable", + variants: [{ + begin: "\\$\\(" + e.UNDERSCORE_IDENT_RE + "\\)", + contains: [e.BACKSLASH_ESCAPE] + }, { + begin: /\$[@% { + const n = e.regex, + t = n.concat( + /(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/, + n.optional( + /(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*:/ + ), + /(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*/ + ), + a = { + className: "symbol", + begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/ + }, + i = { + begin: /\s/, + contains: [{ + className: "keyword", + begin: /#?[a-z_][a-z1-9_-]+/, + illegal: /\n/ + }] + }, + r = e.inherit(i, { + begin: /\(/, + end: /\)/ + }), + s = e.inherit(e.APOS_STRING_MODE, { + className: "string" + }), + o = e.inherit(e.QUOTE_STRING_MODE, { + className: "string" + }), + l = { + endsWithParent: !0, + illegal: /`]+/ + }] + }] + }] + }; + return { + name: "HTML, XML", + aliases: ["html", "xhtml", "rss", "atom", "xjb", "xsd", "xsl", "plist", "wsf", "svg"], + case_insensitive: !0, + unicodeRegex: !0, + contains: [{ + className: "meta", + begin: //, + relevance: 10, + contains: [i, o, s, r, { + begin: /\[/, + end: /\]/, + contains: [{ + className: "meta", + begin: //, + contains: [i, r, o, s] + }] + }] + }, e.COMMENT(//, { + relevance: 10 + }), { + begin: //, + relevance: 10 + }, a, { + className: "meta", + end: /\?>/, + variants: [{ + begin: /<\?xml/, + relevance: 10, + contains: [o] + }, { + begin: /<\?[a-z][a-z0-9]+/ + }] + }, { + className: "tag", + begin: /)/, + end: />/, + keywords: { + name: "style" + }, + contains: [l], + starts: { + end: /<\/style>/, + returnEnd: !0, + subLanguage: ["css", "xml"] + } + }, { + className: "tag", + begin: /)/, + end: />/, + keywords: { + name: "script" + }, + contains: [l], + starts: { + end: /<\/script>/, + returnEnd: !0, + subLanguage: ["javascript", "handlebars", "xml"] + } + }, { + className: "tag", + begin: /<>|<\/>/ + }, { + className: "tag", + begin: n.concat(//, />/, /\s/)))), + end: /\/?>/, + contains: [{ + className: "name", + begin: t, + relevance: 0, + starts: l + }] + }, { + className: "tag", + begin: n.concat(/<\//, n.lookahead(n.concat(t, />/))), + contains: [{ + className: "name", + begin: t, + relevance: 0 + }, { + begin: />/, + relevance: 0, + endsParent: !0 + }] + }] + } + }, + grmr_markdown: e => { + const n = { + begin: /<\/?[A-Za-z_]/, + end: ">", + subLanguage: "xml", + relevance: 0 + }, + t = { + variants: [{ + begin: /\[.+?\]\[.*?\]/, + relevance: 0 + }, { + begin: /\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, + relevance: 2 + }, { + begin: e.regex.concat(/\[.+?\]\(/, /[A-Za-z][A-Za-z0-9+.-]*/, /:\/\/.*?\)/), + relevance: 2 + }, { + begin: /\[.+?\]\([./?&#].*?\)/, + relevance: 1 + }, { + begin: /\[.*?\]\(.*?\)/, + relevance: 0 + }], + returnBegin: !0, + contains: [{ + match: /\[(?=\])/ + }, { + className: "string", + relevance: 0, + begin: "\\[", + end: "\\]", + excludeBegin: !0, + returnEnd: !0 + }, { + className: "link", + relevance: 0, + begin: "\\]\\(", + end: "\\)", + excludeBegin: !0, + excludeEnd: !0 + }, { + className: "symbol", + relevance: 0, + begin: "\\]\\[", + end: "\\]", + excludeBegin: !0, + excludeEnd: !0 + }] + }, + a = { + className: "strong", + contains: [], + variants: [{ + begin: /_{2}(?!\s)/, + end: /_{2}/ + }, { + begin: /\*{2}(?!\s)/, + end: /\*{2}/ + }] + }, + i = { + className: "emphasis", + contains: [], + variants: [{ + begin: /\*(?![*\s])/, + end: /\*/ + }, { + begin: /_(?![_\s])/, + end: /_/, + relevance: 0 + }] + }, + r = e.inherit(a, { + contains: [] + }), + s = e.inherit(i, { + contains: [] + }); + a.contains.push(s), i.contains.push(r); + let o = [n, t]; + return [a, i, r, s].forEach((e => { + e.contains = e.contains.concat(o) + })), o = o.concat(a, i), { + name: "Markdown", + aliases: ["md", "mkdown", "mkd"], + contains: [{ + className: "section", + variants: [{ + begin: "^#{1,6}", + end: "$", + contains: o + }, { + begin: "(?=^.+?\\n[=-]{2,}$)", + contains: [{ + begin: "^[=-]*$" + }, { + begin: "^", + end: "\\n", + contains: o + }] + }] + }, n, { + className: "bullet", + begin: "^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", + end: "\\s+", + excludeEnd: !0 + }, a, i, { + className: "quote", + begin: "^>\\s+", + contains: o, + end: "$" + }, { + className: "code", + variants: [{ + begin: "(`{3,})[^`](.|\\n)*?\\1`*[ ]*" + }, { + begin: "(~{3,})[^~](.|\\n)*?\\1~*[ ]*" + }, { + begin: "```", + end: "```+[ ]*$" + }, { + begin: "~~~", + end: "~~~+[ ]*$" + }, { + begin: "`.+?`" + }, { + begin: "(?=^( {4}|\\t))", + contains: [{ + begin: "^( {4}|\\t)", + end: "(\\n)$" + }], + relevance: 0 + }] + }, { + begin: "^[-\\*]{3,}", + end: "$" + }, t, { + begin: /^\[[^\n]+\]:/, + returnBegin: !0, + contains: [{ + className: "symbol", + begin: /\[/, + end: /\]/, + excludeBegin: !0, + excludeEnd: !0 + }, { + className: "link", + begin: /:\s*/, + end: /$/, + excludeBegin: !0 + }] + }] + } + }, + grmr_objectivec: e => { + const n = /[a-zA-Z@][a-zA-Z0-9_]*/, + t = { + $pattern: n, + keyword: ["@interface", "@class", "@protocol", "@implementation"] + }; + return { + name: "Objective-C", + aliases: ["mm", "objc", "obj-c", "obj-c++", "objective-c++"], + keywords: { + "variable.language": ["this", "super"], + $pattern: n, + keyword: ["while", "export", "sizeof", "typedef", "const", "struct", "for", "union", "volatile", "static", + "mutable", "if", "do", "return", "goto", "enum", "else", "break", "extern", "asm", "case", "default", + "register", "explicit", "typename", "switch", "continue", "inline", "readonly", "assign", "readwrite", + "self", "@synchronized", "id", "typeof", "nonatomic", "IBOutlet", "IBAction", "strong", "weak", + "copy", "in", "out", "inout", "bycopy", "byref", "oneway", "__strong", "__weak", "__block", + "__autoreleasing", "@private", "@protected", "@public", "@try", "@property", "@end", "@throw", + "@catch", "@finally", "@autoreleasepool", "@synthesize", "@dynamic", "@selector", "@optional", + "@required", "@encode", "@package", "@import", "@defs", "@compatibility_alias", "__bridge", + "__bridge_transfer", "__bridge_retained", "__bridge_retain", "__covariant", "__contravariant", + "__kindof", "_Nonnull", "_Nullable", "_Null_unspecified", "__FUNCTION__", "__PRETTY_FUNCTION__", + "__attribute__", "getter", "setter", "retain", "unsafe_unretained", "nonnull", "nullable", + "null_unspecified", "null_resettable", "class", "instancetype", "NS_DESIGNATED_INITIALIZER", + "NS_UNAVAILABLE", "NS_REQUIRES_SUPER", "NS_RETURNS_INNER_POINTER", "NS_INLINE", "NS_AVAILABLE", + "NS_DEPRECATED", "NS_ENUM", "NS_OPTIONS", "NS_SWIFT_UNAVAILABLE", "NS_ASSUME_NONNULL_BEGIN", + "NS_ASSUME_NONNULL_END", "NS_REFINED_FOR_SWIFT", "NS_SWIFT_NAME", "NS_SWIFT_NOTHROW", "NS_DURING", + "NS_HANDLER", "NS_ENDHANDLER", "NS_VALUERETURN", "NS_VOIDRETURN" + ], + literal: ["false", "true", "FALSE", "TRUE", "nil", "YES", "NO", "NULL"], + built_in: ["dispatch_once_t", "dispatch_queue_t", "dispatch_sync", "dispatch_async", "dispatch_once"], + type: ["int", "float", "char", "unsigned", "signed", "short", "long", "double", "wchar_t", "unichar", + "void", "bool", "BOOL", "id|0", "_Bool" + ] + }, + illegal: "/, + end: /$/, + illegal: "\\n" + }, e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE] + }, { + className: "class", + begin: "(" + t.keyword.join("|") + ")\\b", + end: /(\{|$)/, + excludeEnd: !0, + keywords: t, + contains: [e.UNDERSCORE_TITLE_MODE] + }, { + begin: "\\." + e.UNDERSCORE_IDENT_RE, + relevance: 0 + } + ] + } + }, + grmr_perl: e => { + const n = e.regex, + t = /[dualxmsipngr]{0,12}/, + a = { + $pattern: /[\w.]+/, + keyword: "abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" + }, + i = { + className: "subst", + begin: "[$@]\\{", + end: "\\}", + keywords: a + }, + r = { + begin: /->\{/, + end: /\}/ + }, + s = { + variants: [{ + begin: /\$\d/ + }, { + begin: n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/, "(?![A-Za-z])(?![@$%])") + }, { + begin: /[$%@][^\s\w{]/, + relevance: 0 + }] + }, + o = [e.BACKSLASH_ESCAPE, i, s], + l = [/!/, /\//, /\|/, /\?/, /'/, /"/, /#/], + c = (e, a, i = "\\1") => { + const r = "\\1" === i ? i : n.concat(i, a); + return n.concat(n.concat("(?:", e, ")"), a, /(?:\\.|[^\\\/])*?/, r, /(?:\\.|[^\\\/])*?/, i, t) + }, + d = (e, a, i) => n.concat(n.concat("(?:", e, ")"), a, /(?:\\.|[^\\\/])*?/, i, t), + g = [s, e.HASH_COMMENT_MODE, e.COMMENT(/^=\w/, /=cut/, { + endsWithParent: !0 + }), r, { + className: "string", + contains: o, + variants: [{ + begin: "q[qwxr]?\\s*\\(", + end: "\\)", + relevance: 5 + }, { + begin: "q[qwxr]?\\s*\\[", + end: "\\]", + relevance: 5 + }, { + begin: "q[qwxr]?\\s*\\{", + end: "\\}", + relevance: 5 + }, { + begin: "q[qwxr]?\\s*\\|", + end: "\\|", + relevance: 5 + }, { + begin: "q[qwxr]?\\s*<", + end: ">", + relevance: 5 + }, { + begin: "qw\\s+q", + end: "q", + relevance: 5 + }, { + begin: "'", + end: "'", + contains: [e.BACKSLASH_ESCAPE] + }, { + begin: '"', + end: '"' + }, { + begin: "`", + end: "`", + contains: [e.BACKSLASH_ESCAPE] + }, { + begin: /\{\w+\}/, + relevance: 0 + }, { + begin: "-?\\w+\\s*=>", + relevance: 0 + }] + }, { + className: "number", + begin: "(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", + relevance: 0 + }, { + begin: "(\\/\\/|" + e.RE_STARTERS_RE + "|\\b(split|return|print|reverse|grep)\\b)\\s*", + keywords: "split return print reverse grep", + relevance: 0, + contains: [e.HASH_COMMENT_MODE, { + className: "regexp", + variants: [{ + begin: c("s|tr|y", n.either(...l, { + capture: !0 + })) + }, { + begin: c("s|tr|y", "\\(", "\\)") + }, { + begin: c("s|tr|y", "\\[", "\\]") + }, { + begin: c("s|tr|y", "\\{", "\\}") + }], + relevance: 2 + }, { + className: "regexp", + variants: [{ + begin: /(m|qr)\/\//, + relevance: 0 + }, { + begin: d("(?:m|qr)?", /\//, /\//) + }, { + begin: d("m|qr", n.either(...l, { + capture: !0 + }), /\1/) + }, { + begin: d("m|qr", /\(/, /\)/) + }, { + begin: d("m|qr", /\[/, /\]/) + }, { + begin: d("m|qr", /\{/, /\}/) + }] + }] + }, { + className: "function", + beginKeywords: "sub", + end: "(\\s*\\(.*?\\))?[;{]", + excludeEnd: !0, + relevance: 5, + contains: [e.TITLE_MODE] + }, { + begin: "-\\w\\b", + relevance: 0 + }, { + begin: "^__DATA__$", + end: "^__END__$", + subLanguage: "mojolicious", + contains: [{ + begin: "^@@.*", + end: "$", + className: "comment" + }] + }]; + return i.contains = g, r.contains = g, { + name: "Perl", + aliases: ["pl", "pm"], + keywords: a, + contains: g + } + }, + grmr_php: e => { + const n = e.regex, + t = /(?![A-Za-z0-9])(?![$])/, + a = n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/, t), + i = n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/, t), + r = { + scope: "variable", + match: "\\$+" + a + }, + s = { + scope: "subst", + variants: [{ + begin: /\$\w+/ + }, { + begin: /\{\$/, + end: /\}/ + }] + }, + o = e.inherit(e.APOS_STRING_MODE, { + illegal: null + }), + l = "[ \t\n]", + c = { + scope: "string", + variants: [e.inherit(e.QUOTE_STRING_MODE, { + illegal: null, + contains: e.QUOTE_STRING_MODE.contains.concat(s) + }), o, e.END_SAME_AS_BEGIN({ + begin: /<<<[ \t]*(\w+)\n/, + end: /[ \t]*(\w+)\b/, + contains: e.QUOTE_STRING_MODE.contains.concat(s) + })] + }, + d = { + scope: "number", + variants: [{ + begin: "\\b0[bB][01]+(?:_[01]+)*\\b" + }, { + begin: "\\b0[oO][0-7]+(?:_[0-7]+)*\\b" + }, { + begin: "\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b" + }, { + begin: "(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" + }], + relevance: 0 + }, + g = ["false", "null", "true"], + u = ["__CLASS__", "__DIR__", "__FILE__", "__FUNCTION__", "__COMPILER_HALT_OFFSET__", "__LINE__", + "__METHOD__", "__NAMESPACE__", "__TRAIT__", "die", "echo", "exit", "include", "include_once", "print", + "require", "require_once", "array", "abstract", "and", "as", "binary", "bool", "boolean", "break", + "callable", "case", "catch", "class", "clone", "const", "continue", "declare", "default", "do", "double", + "else", "elseif", "empty", "enddeclare", "endfor", "endforeach", "endif", "endswitch", "endwhile", "enum", + "eval", "extends", "final", "finally", "float", "for", "foreach", "from", "global", "goto", "if", + "implements", "instanceof", "insteadof", "int", "integer", "interface", "isset", "iterable", "list", + "match|0", "mixed", "new", "never", "object", "or", "private", "protected", "public", "readonly", "real", + "return", "string", "switch", "throw", "trait", "try", "unset", "use", "var", "void", "while", "xor", + "yield" + ], + b = ["Error|0", "AppendIterator", "ArgumentCountError", "ArithmeticError", "ArrayIterator", "ArrayObject", + "AssertionError", "BadFunctionCallException", "BadMethodCallException", "CachingIterator", + "CallbackFilterIterator", "CompileError", "Countable", "DirectoryIterator", "DivisionByZeroError", + "DomainException", "EmptyIterator", "ErrorException", "Exception", "FilesystemIterator", "FilterIterator", + "GlobIterator", "InfiniteIterator", "InvalidArgumentException", "IteratorIterator", "LengthException", + "LimitIterator", "LogicException", "MultipleIterator", "NoRewindIterator", "OutOfBoundsException", + "OutOfRangeException", "OuterIterator", "OverflowException", "ParentIterator", "ParseError", + "RangeException", "RecursiveArrayIterator", "RecursiveCachingIterator", "RecursiveCallbackFilterIterator", + "RecursiveDirectoryIterator", "RecursiveFilterIterator", "RecursiveIterator", "RecursiveIteratorIterator", + "RecursiveRegexIterator", "RecursiveTreeIterator", "RegexIterator", "RuntimeException", + "SeekableIterator", "SplDoublyLinkedList", "SplFileInfo", "SplFileObject", "SplFixedArray", "SplHeap", + "SplMaxHeap", "SplMinHeap", "SplObjectStorage", "SplObserver", "SplPriorityQueue", "SplQueue", "SplStack", + "SplSubject", "SplTempFileObject", "TypeError", "UnderflowException", "UnexpectedValueException", + "UnhandledMatchError", "ArrayAccess", "BackedEnum", "Closure", "Fiber", "Generator", "Iterator", + "IteratorAggregate", "Serializable", "Stringable", "Throwable", "Traversable", "UnitEnum", + "WeakReference", "WeakMap", "Directory", "__PHP_Incomplete_Class", "parent", "php_user_filter", "self", + "static", "stdClass" + ], + m = { + keyword: u, + literal: (e => { + const n = []; + return e.forEach((e => { + n.push(e), e.toLowerCase() === e ? n.push(e.toUpperCase()) : n.push(e.toLowerCase()) + })), n + })(g), + built_in: b + }, + p = e => e.map((e => e.replace(/\|\d+$/, ""))), + _ = { + variants: [{ + match: [/new/, n.concat(l, "+"), n.concat("(?!", p(b).join("\\b|"), "\\b)"), i], + scope: { + 1: "keyword", + 4: "title.class" + } + }] + }, + h = n.concat(a, "\\b(?!\\()"), + f = { + variants: [{ + match: [n.concat(/::/, n.lookahead(/(?!class\b)/)), h], + scope: { + 2: "variable.constant" + } + }, { + match: [/::/, /class/], + scope: { + 2: "variable.language" + } + }, { + match: [i, n.concat(/::/, n.lookahead(/(?!class\b)/)), h], + scope: { + 1: "title.class", + 3: "variable.constant" + } + }, { + match: [i, n.concat("::", n.lookahead(/(?!class\b)/))], + scope: { + 1: "title.class" + } + }, { + match: [i, /::/, /class/], + scope: { + 1: "title.class", + 3: "variable.language" + } + }] + }, + E = { + scope: "attr", + match: n.concat(a, n.lookahead(":"), n.lookahead(/(?!::)/)) + }, + y = { + relevance: 0, + begin: /\(/, + end: /\)/, + keywords: m, + contains: [E, r, f, e.C_BLOCK_COMMENT_MODE, c, d, _] + }, + w = { + relevance: 0, + match: [/\b/, n.concat("(?!fn\\b|function\\b|", p(u).join("\\b|"), "|", p(b).join("\\b|"), "\\b)"), a, n + .concat(l, "*"), n.lookahead(/(?=\()/) + ], + scope: { + 3: "title.function.invoke" + }, + contains: [y] + }; + y.contains.push(w); + const N = [E, f, e.C_BLOCK_COMMENT_MODE, c, d, _]; + return { + case_insensitive: !1, + keywords: m, + contains: [{ + begin: n.concat(/#\[\s*/, i), + beginScope: "meta", + end: /]/, + endScope: "meta", + keywords: { + literal: g, + keyword: ["new", "array"] + }, + contains: [{ + begin: /\[/, + end: /]/, + keywords: { + literal: g, + keyword: ["new", "array"] + }, + contains: ["self", ...N] + }, ...N, { + scope: "meta", + match: i + }] + }, e.HASH_COMMENT_MODE, e.COMMENT("//", "$"), e.COMMENT("/\\*", "\\*/", { + contains: [{ + scope: "doctag", + match: "@[A-Za-z]+" + }] + }), { + match: /__halt_compiler\(\);/, + keywords: "__halt_compiler", + starts: { + scope: "comment", + end: e.MATCH_NOTHING_RE, + contains: [{ + match: /\?>/, + scope: "meta", + endsParent: !0 + }] + } + }, { + scope: "meta", + variants: [{ + begin: /<\?php/, + relevance: 10 + }, { + begin: /<\?=/ + }, { + begin: /<\?/, + relevance: .1 + }, { + begin: /\?>/ + }] + }, { + scope: "variable.language", + match: /\$this\b/ + }, r, w, f, { + match: [/const/, /\s/, a], + scope: { + 1: "keyword", + 3: "variable.constant" + } + }, _, { + scope: "function", + relevance: 0, + beginKeywords: "fn function", + end: /[;{]/, + excludeEnd: !0, + illegal: "[$%\\[]", + contains: [{ + beginKeywords: "use" + }, e.UNDERSCORE_TITLE_MODE, { + begin: "=>", + endsParent: !0 + }, { + scope: "params", + begin: "\\(", + end: "\\)", + excludeBegin: !0, + excludeEnd: !0, + keywords: m, + contains: ["self", r, f, e.C_BLOCK_COMMENT_MODE, c, d] + }] + }, { + scope: "class", + variants: [{ + beginKeywords: "enum", + illegal: /[($"]/ + }, { + beginKeywords: "class interface trait", + illegal: /[:($"]/ + }], + relevance: 0, + end: /\{/, + excludeEnd: !0, + contains: [{ + beginKeywords: "extends implements" + }, e.UNDERSCORE_TITLE_MODE] + }, { + beginKeywords: "namespace", + relevance: 0, + end: ";", + illegal: /[.']/, + contains: [e.inherit(e.UNDERSCORE_TITLE_MODE, { + scope: "title.class" + })] + }, { + beginKeywords: "use", + relevance: 0, + end: ";", + contains: [{ + match: /\b(as|const|function)\b/, + scope: "keyword" + }, e.UNDERSCORE_TITLE_MODE] + }, c, d] + } + }, + grmr_php_template: e => ({ + name: "PHP template", + subLanguage: "xml", + contains: [{ + begin: /<\?(php|=)?/, + end: /\?>/, + subLanguage: "php", + contains: [{ + begin: "/\\*", + end: "\\*/", + skip: !0 + }, { + begin: 'b"', + end: '"', + skip: !0 + }, { + begin: "b'", + end: "'", + skip: !0 + }, e.inherit(e.APOS_STRING_MODE, { + illegal: null, + className: null, + contains: null, + skip: !0 + }), e.inherit(e.QUOTE_STRING_MODE, { + illegal: null, + className: null, + contains: null, + skip: !0 + })] + }] + }), + grmr_plaintext: e => ({ + name: "Plain text", + aliases: ["text", "txt"], + disableAutodetect: !0 + }), + grmr_python: e => { + const n = e.regex, + t = /(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDEFD-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E-\uDE41\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDF00-\uDF10\uDF12-\uDF3A\uDF3E-\uDF42\uDF50-\uDF59\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC40-\uDC55]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC30-\uDC6D\uDC8F\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDCD0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF]|\uDB40[\uDD00-\uDDEF])*/, + a = ["and", "as", "assert", "async", "await", "break", "case", "class", "continue", "def", "del", "elif", + "else", "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", "match", + "nonlocal|10", "not", "or", "pass", "raise", "return", "try", "while", "with", "yield" + ], + i = { + $pattern: /[A-Za-z]\w+|__\w+__/, + keyword: a, + built_in: ["__import__", "abs", "all", "any", "ascii", "bin", "bool", "breakpoint", "bytearray", "bytes", + "callable", "chr", "classmethod", "compile", "complex", "delattr", "dict", "dir", "divmod", + "enumerate", "eval", "exec", "filter", "float", "format", "frozenset", "getattr", "globals", + "hasattr", "hash", "help", "hex", "id", "input", "int", "isinstance", "issubclass", "iter", "len", + "list", "locals", "map", "max", "memoryview", "min", "next", "object", "oct", "open", "ord", "pow", + "print", "property", "range", "repr", "reversed", "round", "set", "setattr", "slice", "sorted", + "staticmethod", "str", "sum", "super", "tuple", "type", "vars", "zip" + ], + literal: ["__debug__", "Ellipsis", "False", "None", "NotImplemented", "True"], + type: ["Any", "Callable", "Coroutine", "Dict", "List", "Literal", "Generic", "Optional", "Sequence", + "Set", "Tuple", "Type", "Union" + ] + }, + r = { + className: "meta", + begin: /^(>>>|\.\.\.) / + }, + s = { + className: "subst", + begin: /\{/, + end: /\}/, + keywords: i, + illegal: /#/ + }, + o = { + begin: /\{\{/, + relevance: 0 + }, + l = { + className: "string", + contains: [e.BACKSLASH_ESCAPE], + variants: [{ + begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/, + end: /'''/, + contains: [e.BACKSLASH_ESCAPE, r], + relevance: 10 + }, { + begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/, + end: /"""/, + contains: [e.BACKSLASH_ESCAPE, r], + relevance: 10 + }, { + begin: /([fF][rR]|[rR][fF]|[fF])'''/, + end: /'''/, + contains: [e.BACKSLASH_ESCAPE, r, o, s] + }, { + begin: /([fF][rR]|[rR][fF]|[fF])"""/, + end: /"""/, + contains: [e.BACKSLASH_ESCAPE, r, o, s] + }, { + begin: /([uU]|[rR])'/, + end: /'/, + relevance: 10 + }, { + begin: /([uU]|[rR])"/, + end: /"/, + relevance: 10 + }, { + begin: /([bB]|[bB][rR]|[rR][bB])'/, + end: /'/ + }, { + begin: /([bB]|[bB][rR]|[rR][bB])"/, + end: /"/ + }, { + begin: /([fF][rR]|[rR][fF]|[fF])'/, + end: /'/, + contains: [e.BACKSLASH_ESCAPE, o, s] + }, { + begin: /([fF][rR]|[rR][fF]|[fF])"/, + end: /"/, + contains: [e.BACKSLASH_ESCAPE, o, s] + }, e.APOS_STRING_MODE, e.QUOTE_STRING_MODE] + }, + c = "[0-9](_?[0-9])*", + d = `(\\b(${c}))?\\.(${c})|\\b(${c})\\.`, + g = "\\b|" + a.join("|"), + u = { + className: "number", + relevance: 0, + variants: [{ + begin: `(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})` + }, { + begin: `(${d})[jJ]?` + }, { + begin: `\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})` + }, { + begin: `\\b0[bB](_?[01])+[lL]?(?=${g})` + }, { + begin: `\\b0[oO](_?[0-7])+[lL]?(?=${g})` + }, { + begin: `\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})` + }, { + begin: `\\b(${c})[jJ](?=${g})` + }] + }, + b = { + className: "comment", + begin: n.lookahead(/# type:/), + end: /$/, + keywords: i, + contains: [{ + begin: /# type:/ + }, { + begin: /#/, + end: /\b\B/, + endsWithParent: !0 + }] + }, + m = { + className: "params", + variants: [{ + className: "", + begin: /\(\s*\)/, + skip: !0 + }, { + begin: /\(/, + end: /\)/, + excludeBegin: !0, + excludeEnd: !0, + keywords: i, + contains: ["self", r, u, l, e.HASH_COMMENT_MODE] + }] + }; + return s.contains = [l, u, r], { + name: "Python", + aliases: ["py", "gyp", "ipython"], + unicodeRegex: !0, + keywords: i, + illegal: /(<\/|->|\?)|=>/, + contains: [r, u, { + begin: /\bself\b/ + }, { + beginKeywords: "if", + relevance: 0 + }, l, b, e.HASH_COMMENT_MODE, { + match: [/\bdef/, /\s+/, t], + scope: { + 1: "keyword", + 3: "title.function" + }, + contains: [m] + }, { + variants: [{ + match: [/\bclass/, /\s+/, t, /\s*/, /\(\s*/, t, /\s*\)/] + }, { + match: [/\bclass/, /\s+/, t] + }], + scope: { + 1: "keyword", + 3: "title.class", + 6: "title.class.inherited" + } + }, { + className: "meta", + begin: /^[\t ]*@/, + end: /(?=#)|$/, + contains: [u, m, l] + }] + } + }, + grmr_python_repl: e => ({ + aliases: ["pycon"], + contains: [{ + className: "meta.prompt", + starts: { + end: / |$/, + starts: { + end: "$", + subLanguage: "python" + } + }, + variants: [{ + begin: /^>>>(?=[ ]|$)/ + }, { + begin: /^\.\.\.(?=[ ]|$)/ + }] + }] + }), + grmr_r: e => { + const n = e.regex, + t = /(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/, + a = n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/, /0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/, + /(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/), + i = /[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/, + r = n.either(/[()]/, /[{}]/, /\[\[/, /[[\]]/, /\\/, /,/); + return { + name: "R", + keywords: { + $pattern: t, + keyword: "function if in break next repeat else for while", + literal: "NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", + built_in: "LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" + }, + contains: [e.COMMENT(/#'/, /$/, { + contains: [{ + scope: "doctag", + match: /@examples/, + starts: { + end: n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/, /\n^(?!#')/)), + endsParent: !0 + } + }, { + scope: "doctag", + begin: "@param", + end: /$/, + contains: [{ + scope: "variable", + variants: [{ + match: t + }, { + match: /`(?:\\.|[^`\\])+`/ + }], + endsParent: !0 + }] + }, { + scope: "doctag", + match: /@[a-zA-Z]+/ + }, { + scope: "keyword", + match: /\\[a-zA-Z]+/ + }] + }), e.HASH_COMMENT_MODE, { + scope: "string", + contains: [e.BACKSLASH_ESCAPE], + variants: [e.END_SAME_AS_BEGIN({ + begin: /[rR]"(-*)\(/, + end: /\)(-*)"/ + }), e.END_SAME_AS_BEGIN({ + begin: /[rR]"(-*)\{/, + end: /\}(-*)"/ + }), e.END_SAME_AS_BEGIN({ + begin: /[rR]"(-*)\[/, + end: /\](-*)"/ + }), e.END_SAME_AS_BEGIN({ + begin: /[rR]'(-*)\(/, + end: /\)(-*)'/ + }), e.END_SAME_AS_BEGIN({ + begin: /[rR]'(-*)\{/, + end: /\}(-*)'/ + }), e.END_SAME_AS_BEGIN({ + begin: /[rR]'(-*)\[/, + end: /\](-*)'/ + }), { + begin: '"', + end: '"', + relevance: 0 + }, { + begin: "'", + end: "'", + relevance: 0 + }] + }, { + relevance: 0, + variants: [{ + scope: { + 1: "operator", + 2: "number" + }, + match: [i, a] + }, { + scope: { + 1: "operator", + 2: "number" + }, + match: [/%[^%]*%/, a] + }, { + scope: { + 1: "punctuation", + 2: "number" + }, + match: [r, a] + }, { + scope: { + 2: "number" + }, + match: [/[^a-zA-Z0-9._]|^/, a] + }] + }, { + scope: { + 3: "operator" + }, + match: [t, /\s+/, /<-/, /\s+/] + }, { + scope: "operator", + relevance: 0, + variants: [{ + match: i + }, { + match: /%[^%]*%/ + }] + }, { + scope: "punctuation", + relevance: 0, + match: r + }, { + begin: "`", + end: "`", + contains: [{ + begin: /\\./ + }] + }] + } + }, + grmr_ruby: e => { + const n = e.regex, + t = "([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)", + a = n.either(/\b([A-Z]+[a-z0-9]+)+/, /\b([A-Z]+[a-z0-9]+)+[A-Z]+/), + i = n.concat(a, /(::\w+)*/), + r = { + "variable.constant": ["__FILE__", "__LINE__", "__ENCODING__"], + "variable.language": ["self", "super"], + keyword: ["alias", "and", "begin", "BEGIN", "break", "case", "class", "defined", "do", "else", "elsif", + "end", "END", "ensure", "for", "if", "in", "module", "next", "not", "or", "redo", "require", "rescue", + "retry", "return", "then", "undef", "unless", "until", "when", "while", "yield", "include", "extend", + "prepend", "public", "private", "protected", "raise", "throw" + ], + built_in: ["proc", "lambda", "attr_accessor", "attr_reader", "attr_writer", "define_method", + "private_constant", "module_function" + ], + literal: ["true", "false", "nil"] + }, + s = { + className: "doctag", + begin: "@[A-Za-z]+" + }, + o = { + begin: "#<", + end: ">" + }, + l = [e.COMMENT("#", "$", { + contains: [s] + }), e.COMMENT("^=begin", "^=end", { + contains: [s], + relevance: 10 + }), e.COMMENT("^__END__", e.MATCH_NOTHING_RE)], + c = { + className: "subst", + begin: /#\{/, + end: /\}/, + keywords: r + }, + d = { + className: "string", + contains: [e.BACKSLASH_ESCAPE, c], + variants: [{ + begin: /'/, + end: /'/ + }, { + begin: /"/, + end: /"/ + }, { + begin: /`/, + end: /`/ + }, { + begin: /%[qQwWx]?\(/, + end: /\)/ + }, { + begin: /%[qQwWx]?\[/, + end: /\]/ + }, { + begin: /%[qQwWx]?\{/, + end: /\}/ + }, { + begin: /%[qQwWx]?/ + }, { + begin: /%[qQwWx]?\//, + end: /\// + }, { + begin: /%[qQwWx]?%/, + end: /%/ + }, { + begin: /%[qQwWx]?-/, + end: /-/ + }, { + begin: /%[qQwWx]?\|/, + end: /\|/ + }, { + begin: /\B\?(\\\d{1,3})/ + }, { + begin: /\B\?(\\x[A-Fa-f0-9]{1,2})/ + }, { + begin: /\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/ + }, { + begin: /\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/ + }, { + begin: /\B\?\\(c|C-)[\x20-\x7e]/ + }, { + begin: /\B\?\\?\S/ + }, { + begin: n.concat(/<<[-~]?'?/, n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), + contains: [e.END_SAME_AS_BEGIN({ + begin: /(\w+)/, + end: /(\w+)/, + contains: [e.BACKSLASH_ESCAPE, c] + })] + }] + }, + g = "[0-9](_?[0-9])*", + u = { + className: "number", + relevance: 0, + variants: [{ + begin: `\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b` + }, { + begin: "\\b0[dD][0-9](_?[0-9])*r?i?\\b" + }, { + begin: "\\b0[bB][0-1](_?[0-1])*r?i?\\b" + }, { + begin: "\\b0[oO][0-7](_?[0-7])*r?i?\\b" + }, { + begin: "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b" + }, { + begin: "\\b0(_?[0-7])+r?i?\\b" + }] + }, + b = { + variants: [{ + match: /\(\)/ + }, { + className: "params", + begin: /\(/, + end: /(?=\))/, + excludeBegin: !0, + endsParent: !0, + keywords: r + }] + }, + m = [d, { + variants: [{ + match: [/class\s+/, i, /\s+<\s+/, i] + }, { + match: [/\b(class|module)\s+/, i] + }], + scope: { + 2: "title.class", + 4: "title.class.inherited" + }, + keywords: r + }, { + match: [/(include|extend)\s+/, i], + scope: { + 2: "title.class" + }, + keywords: r + }, { + relevance: 0, + match: [i, /\.new[. (]/], + scope: { + 1: "title.class" + } + }, { + relevance: 0, + match: /\b[A-Z][A-Z_0-9]+\b/, + className: "variable.constant" + }, { + relevance: 0, + match: a, + scope: "title.class" + }, { + match: [/def/, /\s+/, t], + scope: { + 1: "keyword", + 3: "title.function" + }, + contains: [b] + }, { + begin: e.IDENT_RE + "::" + }, { + className: "symbol", + begin: e.UNDERSCORE_IDENT_RE + "(!|\\?)?:", + relevance: 0 + }, { + className: "symbol", + begin: ":(?!\\s)", + contains: [d, { + begin: t + }], + relevance: 0 + }, u, { + className: "variable", + begin: "(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])" + }, { + className: "params", + begin: /\|/, + end: /\|/, + excludeBegin: !0, + excludeEnd: !0, + relevance: 0, + keywords: r + }, { + begin: "(" + e.RE_STARTERS_RE + "|unless)\\s*", + keywords: "unless", + contains: [{ + className: "regexp", + contains: [e.BACKSLASH_ESCAPE, c], + illegal: /\n/, + variants: [{ + begin: "/", + end: "/[a-z]*" + }, { + begin: /%r\{/, + end: /\}[a-z]*/ + }, { + begin: "%r\\(", + end: "\\)[a-z]*" + }, { + begin: "%r!", + end: "![a-z]*" + }, { + begin: "%r\\[", + end: "\\][a-z]*" + }] + }].concat(o, l), + relevance: 0 + }].concat(o, l); + c.contains = m, b.contains = m; + const p = [{ + begin: /^\s*=>/, + starts: { + end: "$", + contains: m + } + }, { + className: "meta.prompt", + begin: "^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", + starts: { + end: "$", + keywords: r, + contains: m + } + }]; + return l.unshift(o), { + name: "Ruby", + aliases: ["rb", "gemspec", "podspec", "thor", "irb"], + keywords: r, + illegal: /\/\*/, + contains: [e.SHEBANG({ + binary: "ruby" + })].concat(p).concat(l).concat(m) + } + }, + grmr_rust: e => { + const n = e.regex, + t = { + className: "title.function.invoke", + relevance: 0, + begin: n.concat(/\b/, /(?!let\b)/, e.IDENT_RE, n.lookahead(/\s*\(/)) + }, + a = "([ui](8|16|32|64|128|size)|f(32|64))?", + i = ["drop ", "Copy", "Send", "Sized", "Sync", "Drop", "Fn", "FnMut", "FnOnce", "ToOwned", "Clone", "Debug", + "PartialEq", "PartialOrd", "Eq", "Ord", "AsRef", "AsMut", "Into", "From", "Default", "Iterator", "Extend", + "IntoIterator", "DoubleEndedIterator", "ExactSizeIterator", "SliceConcatExt", "ToString", "assert!", + "assert_eq!", "bitflags!", "bytes!", "cfg!", "col!", "concat!", "concat_idents!", "debug_assert!", + "debug_assert_eq!", "env!", "panic!", "file!", "format!", "format_args!", "include_bytes!", + "include_str!", "line!", "local_data_key!", "module_path!", "option_env!", "print!", "println!", + "select!", "stringify!", "try!", "unimplemented!", "unreachable!", "vec!", "write!", "writeln!", + "macro_rules!", "assert_ne!", "debug_assert_ne!" + ], + r = ["i8", "i16", "i32", "i64", "i128", "isize", "u8", "u16", "u32", "u64", "u128", "usize", "f32", "f64", + "str", "char", "bool", "Box", "Option", "Result", "String", "Vec" + ]; + return { + name: "Rust", + aliases: ["rs"], + keywords: { + $pattern: e.IDENT_RE + "!?", + type: r, + keyword: ["abstract", "as", "async", "await", "become", "box", "break", "const", "continue", "crate", + "do", "dyn", "else", "enum", "extern", "false", "final", "fn", "for", "if", "impl", "in", "let", + "loop", "macro", "match", "mod", "move", "mut", "override", "priv", "pub", "ref", "return", "self", + "Self", "static", "struct", "super", "trait", "true", "try", "type", "typeof", "unsafe", "unsized", + "use", "virtual", "where", "while", "yield" + ], + literal: ["true", "false", "Some", "None", "Ok", "Err"], + built_in: i + }, + illegal: "" + }, t] + } + }, + grmr_scss: e => { + const n = J(e), + t = te, + a = ne, + i = "@[a-z-]+", + r = { + className: "variable", + begin: "(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b", + relevance: 0 + }; + return { + name: "SCSS", + case_insensitive: !0, + illegal: "[=/|']", + contains: [e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, n.CSS_NUMBER_MODE, { + className: "selector-id", + begin: "#[A-Za-z0-9_-]+", + relevance: 0 + }, { + className: "selector-class", + begin: "\\.[A-Za-z0-9_-]+", + relevance: 0 + }, n.ATTRIBUTE_SELECTOR_MODE, { + className: "selector-tag", + begin: "\\b(" + Y.join("|") + ")\\b", + relevance: 0 + }, { + className: "selector-pseudo", + begin: ":(" + a.join("|") + ")" + }, { + className: "selector-pseudo", + begin: ":(:)?(" + t.join("|") + ")" + }, r, { + begin: /\(/, + end: /\)/, + contains: [n.CSS_NUMBER_MODE] + }, n.CSS_VARIABLE, { + className: "attribute", + begin: "\\b(" + ae.join("|") + ")\\b" + }, { + begin: "\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" + }, { + begin: /:/, + end: /[;}{]/, + relevance: 0, + contains: [n.BLOCK_COMMENT, r, n.HEXCOLOR, n.CSS_NUMBER_MODE, e.QUOTE_STRING_MODE, e.APOS_STRING_MODE, + n.IMPORTANT, n.FUNCTION_DISPATCH + ] + }, { + begin: "@(page|font-face)", + keywords: { + $pattern: i, + keyword: "@page @font-face" + } + }, { + begin: "@", + end: "[{;]", + returnBegin: !0, + keywords: { + $pattern: /[a-z-]+/, + keyword: "and or not only", + attribute: ee.join(" ") + }, + contains: [{ + begin: i, + className: "keyword" + }, { + begin: /[a-z-]+(?=:)/, + className: "attribute" + }, r, e.QUOTE_STRING_MODE, e.APOS_STRING_MODE, n.HEXCOLOR, n.CSS_NUMBER_MODE] + }, n.FUNCTION_DISPATCH] + } + }, + grmr_shell: e => ({ + name: "Shell Session", + aliases: ["console", "shellsession"], + contains: [{ + className: "meta.prompt", + begin: /^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/, + starts: { + end: /[^\\](?=\s*$)/, + subLanguage: "bash" + } + }] + }), + grmr_sql: e => { + const n = e.regex, + t = e.COMMENT("--", "$"), + a = ["true", "false", "unknown"], + i = ["bigint", "binary", "blob", "boolean", "char", "character", "clob", "date", "dec", "decfloat", + "decimal", "float", "int", "integer", "interval", "nchar", "nclob", "national", "numeric", "real", "row", + "smallint", "time", "timestamp", "varchar", "varying", "varbinary" + ], + r = ["abs", "acos", "array_agg", "asin", "atan", "avg", "cast", "ceil", "ceiling", "coalesce", "corr", + "cos", "cosh", "count", "covar_pop", "covar_samp", "cume_dist", "dense_rank", "deref", "element", "exp", + "extract", "first_value", "floor", "json_array", "json_arrayagg", "json_exists", "json_object", + "json_objectagg", "json_query", "json_table", "json_table_primitive", "json_value", "lag", "last_value", + "lead", "listagg", "ln", "log", "log10", "lower", "max", "min", "mod", "nth_value", "ntile", "nullif", + "percent_rank", "percentile_cont", "percentile_disc", "position", "position_regex", "power", "rank", + "regr_avgx", "regr_avgy", "regr_count", "regr_intercept", "regr_r2", "regr_slope", "regr_sxx", "regr_sxy", + "regr_syy", "row_number", "sin", "sinh", "sqrt", "stddev_pop", "stddev_samp", "substring", + "substring_regex", "sum", "tan", "tanh", "translate", "translate_regex", "treat", "trim", "trim_array", + "unnest", "upper", "value_of", "var_pop", "var_samp", "width_bucket" + ], + s = ["create table", "insert into", "primary key", "foreign key", "not null", "alter table", + "add constraint", "grouping sets", "on overflow", "character set", "respect nulls", "ignore nulls", + "nulls first", "nulls last", "depth first", "breadth first" + ], + o = r, + l = ["abs", "acos", "all", "allocate", "alter", "and", "any", "are", "array", "array_agg", + "array_max_cardinality", "as", "asensitive", "asin", "asymmetric", "at", "atan", "atomic", + "authorization", "avg", "begin", "begin_frame", "begin_partition", "between", "bigint", "binary", "blob", + "boolean", "both", "by", "call", "called", "cardinality", "cascaded", "case", "cast", "ceil", "ceiling", + "char", "char_length", "character", "character_length", "check", "classifier", "clob", "close", + "coalesce", "collate", "collect", "column", "commit", "condition", "connect", "constraint", "contains", + "convert", "copy", "corr", "corresponding", "cos", "cosh", "count", "covar_pop", "covar_samp", "create", + "cross", "cube", "cume_dist", "current", "current_catalog", "current_date", + "current_default_transform_group", "current_path", "current_role", "current_row", "current_schema", + "current_time", "current_timestamp", "current_path", "current_role", "current_transform_group_for_type", + "current_user", "cursor", "cycle", "date", "day", "deallocate", "dec", "decimal", "decfloat", "declare", + "default", "define", "delete", "dense_rank", "deref", "describe", "deterministic", "disconnect", + "distinct", "double", "drop", "dynamic", "each", "element", "else", "empty", "end", "end_frame", + "end_partition", "end-exec", "equals", "escape", "every", "except", "exec", "execute", "exists", "exp", + "external", "extract", "false", "fetch", "filter", "first_value", "float", "floor", "for", "foreign", + "frame_row", "free", "from", "full", "function", "fusion", "get", "global", "grant", "group", "grouping", + "groups", "having", "hold", "hour", "identity", "in", "indicator", "initial", "inner", "inout", + "insensitive", "insert", "int", "integer", "intersect", "intersection", "interval", "into", "is", "join", + "json_array", "json_arrayagg", "json_exists", "json_object", "json_objectagg", "json_query", "json_table", + "json_table_primitive", "json_value", "lag", "language", "large", "last_value", "lateral", "lead", + "leading", "left", "like", "like_regex", "listagg", "ln", "local", "localtime", "localtimestamp", "log", + "log10", "lower", "match", "match_number", "match_recognize", "matches", "max", "member", "merge", + "method", "min", "minute", "mod", "modifies", "module", "month", "multiset", "national", "natural", + "nchar", "nclob", "new", "no", "none", "normalize", "not", "nth_value", "ntile", "null", "nullif", + "numeric", "octet_length", "occurrences_regex", "of", "offset", "old", "omit", "on", "one", "only", + "open", "or", "order", "out", "outer", "over", "overlaps", "overlay", "parameter", "partition", "pattern", + "per", "percent", "percent_rank", "percentile_cont", "percentile_disc", "period", "portion", "position", + "position_regex", "power", "precedes", "precision", "prepare", "primary", "procedure", "ptf", "range", + "rank", "reads", "real", "recursive", "ref", "references", "referencing", "regr_avgx", "regr_avgy", + "regr_count", "regr_intercept", "regr_r2", "regr_slope", "regr_sxx", "regr_sxy", "regr_syy", "release", + "result", "return", "returns", "revoke", "right", "rollback", "rollup", "row", "row_number", "rows", + "running", "savepoint", "scope", "scroll", "search", "second", "seek", "select", "sensitive", + "session_user", "set", "show", "similar", "sin", "sinh", "skip", "smallint", "some", "specific", + "specifictype", "sql", "sqlexception", "sqlstate", "sqlwarning", "sqrt", "start", "static", "stddev_pop", + "stddev_samp", "submultiset", "subset", "substring", "substring_regex", "succeeds", "sum", "symmetric", + "system", "system_time", "system_user", "table", "tablesample", "tan", "tanh", "then", "time", + "timestamp", "timezone_hour", "timezone_minute", "to", "trailing", "translate", "translate_regex", + "translation", "treat", "trigger", "trim", "trim_array", "true", "truncate", "uescape", "union", "unique", + "unknown", "unnest", "update", "upper", "user", "using", "value", "values", "value_of", "var_pop", + "var_samp", "varbinary", "varchar", "varying", "versioning", "when", "whenever", "where", "width_bucket", + "window", "with", "within", "without", "year", "add", "asc", "collation", "desc", "final", "first", + "last", "view" + ].filter((e => !r.includes(e))), + c = { + begin: n.concat(/\b/, n.either(...o), /\s*\(/), + relevance: 0, + keywords: { + built_in: o + } + }; + return { + name: "SQL", + case_insensitive: !0, + illegal: /[{}]|<\//, + keywords: { + $pattern: /\b[\w\.]+/, + keyword: ((e, { + exceptions: n, + when: t + } = {}) => { + const a = t; + return n = n || [], e.map((e => e.match(/\|\d+$/) || n.includes(e) ? e : a(e) ? e + "|0" : e)) + })(l, { + when: e => e.length < 3 + }), + literal: a, + type: i, + built_in: ["current_catalog", "current_date", "current_default_transform_group", "current_path", + "current_role", "current_schema", "current_transform_group_for_type", "current_user", "session_user", + "system_time", "system_user", "current_time", "localtime", "current_timestamp", "localtimestamp" + ] + }, + contains: [{ + begin: n.either(...s), + relevance: 0, + keywords: { + $pattern: /[\w\.]+/, + keyword: l.concat(s), + literal: a, + type: i + } + }, { + className: "type", + begin: n.either("double precision", "large object", "with timezone", "without timezone") + }, c, { + className: "variable", + begin: /@[a-z0-9]+/ + }, { + className: "string", + variants: [{ + begin: /'/, + end: /'/, + contains: [{ + begin: /''/ + }] + }] + }, { + begin: /"/, + end: /"/, + contains: [{ + begin: /""/ + }] + }, e.C_NUMBER_MODE, e.C_BLOCK_COMMENT_MODE, t, { + className: "operator", + begin: /[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/, + relevance: 0 + }] + } + }, + grmr_swift: e => { + const n = { + match: /\s+/, + relevance: 0 + }, + t = e.COMMENT("/\\*", "\\*/", { + contains: ["self"] + }), + a = [e.C_LINE_COMMENT_MODE, t], + i = { + match: [/\./, p(...Ee, ...ye)], + className: { + 2: "keyword" + } + }, + r = { + match: m(/\./, p(...Ne)), + relevance: 0 + }, + s = Ne.filter((e => "string" == typeof e)).concat(["_|0"]), + o = { + variants: [{ + className: "keyword", + match: p(...Ne.filter((e => "string" != typeof e)).concat(we).map(fe), ...ye) + }] + }, + l = { + $pattern: p(/\b\w+/, /#\w+/), + keyword: s.concat(ke), + literal: ve + }, + c = [i, r, o], + d = [{ + match: m(/\./, p(...xe)), + relevance: 0 + }, { + className: "built_in", + match: m(/\b/, p(...xe), /(?=\()/) + }], + u = { + match: /->/, + relevance: 0 + }, + b = [u, { + className: "operator", + relevance: 0, + variants: [{ + match: Ae + }, { + match: `\\.(\\.|${Se})+` + }] + }], + _ = "([0-9a-fA-F]_*)+", + h = { + className: "number", + relevance: 0, + variants: [{ + match: "\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b" + }, { + match: `\\b0x(${_})(\\.(${_}))?([pP][+-]?(([0-9]_*)+))?\\b` + }, { + match: /\b0o([0-7]_*)+\b/ + }, { + match: /\b0b([01]_*)+\b/ + }] + }, + f = (e = "") => ({ + className: "subst", + variants: [{ + match: m(/\\/, e, /[0\\tnr"']/) + }, { + match: m(/\\/, e, /u\{[0-9a-fA-F]{1,8}\}/) + }] + }), + E = (e = "") => ({ + className: "subst", + match: m(/\\/, e, /[\t ]*(?:[\r\n]|\r\n)/) + }), + y = (e = "") => ({ + className: "subst", + label: "interpol", + begin: m(/\\/, e, /\(/), + end: /\)/ + }), + w = (e = "") => ({ + begin: m(e, /"""/), + end: m(/"""/, e), + contains: [f(e), E(e), y(e)] + }), + N = (e = "") => ({ + begin: m(e, /"/), + end: m(/"/, e), + contains: [f(e), y(e)] + }), + v = { + className: "string", + variants: [w(), w("#"), w("##"), w("###"), N(), N("#"), N("##"), N("###")] + }, + O = { + match: m(/`/, Re, /`/) + }, + k = [O, { + className: "variable", + match: /\$\d+/ + }, { + className: "variable", + match: `\\$${Te}+` + }], + x = [{ + match: /(@|#(un)?)available/, + className: "keyword", + starts: { + contains: [{ + begin: /\(/, + end: /\)/, + keywords: Le, + contains: [...b, h, v] + }] + } + }, { + className: "keyword", + match: m(/@/, p(...Ie)) + }, { + className: "meta", + match: m(/@/, Re) + }], + M = { + match: g(/\b[A-Z]/), + relevance: 0, + contains: [{ + className: "type", + match: m(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, Te, "+") + }, { + className: "type", + match: De, + relevance: 0 + }, { + match: /[?!]+/, + relevance: 0 + }, { + match: /\.\.\./, + relevance: 0 + }, { + match: m(/\s+&\s+/, g(De)), + relevance: 0 + }] + }, + S = { + begin: //, + keywords: l, + contains: [...a, ...c, ...x, u, M] + }; + M.contains.push(S); + const A = { + begin: /\(/, + end: /\)/, + relevance: 0, + keywords: l, + contains: ["self", { + match: m(Re, /\s*:/), + keywords: "_|0", + relevance: 0 + }, ...a, ...c, ...d, ...b, h, v, ...k, ...x, M] + }, + C = { + begin: //, + contains: [...a, M] + }, + T = { + begin: /\(/, + end: /\)/, + keywords: l, + contains: [{ + begin: p(g(m(Re, /\s*:/)), g(m(Re, /\s+/, Re, /\s*:/))), + end: /:/, + relevance: 0, + contains: [{ + className: "keyword", + match: /\b_\b/ + }, { + className: "params", + match: Re + }] + }, ...a, ...c, ...b, h, v, ...x, M, A], + endsParent: !0, + illegal: /["']/ + }, + R = { + match: [/func/, /\s+/, p(O.match, Re, Ae)], + className: { + 1: "keyword", + 3: "title.function" + }, + contains: [C, T, n], + illegal: [/\[/, /%/] + }, + D = { + match: [/\b(?:subscript|init[?!]?)/, /\s*(?=[<(])/], + className: { + 1: "keyword" + }, + contains: [C, T, n], + illegal: /\[|%/ + }, + I = { + match: [/operator/, /\s+/, Ae], + className: { + 1: "keyword", + 3: "title" + } + }, + L = { + begin: [/precedencegroup/, /\s+/, De], + className: { + 1: "keyword", + 3: "title" + }, + contains: [M], + keywords: [...Oe, ...ve], + end: /}/ + }; + for (const e of v.variants) { + const n = e.contains.find((e => "interpol" === e.label)); + n.keywords = l; + const t = [...c, ...d, ...b, h, v, ...k]; + n.contains = [...t, { + begin: /\(/, + end: /\)/, + contains: ["self", ...t] + }] + } + return { + name: "Swift", + keywords: l, + contains: [...a, R, D, { + beginKeywords: "struct protocol class extension enum actor", + end: "\\{", + excludeEnd: !0, + keywords: l, + contains: [e.inherit(e.TITLE_MODE, { + className: "title.class", + begin: /[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/ + }), ...c] + }, I, L, { + beginKeywords: "import", + end: /$/, + contains: [...a], + relevance: 0 + }, ...c, ...d, ...b, h, v, ...k, ...x, M, A] + } + }, + grmr_typescript: e => { + const n = he(e), + t = ["any", "void", "number", "boolean", "string", "object", "never", "symbol", "bigint", "unknown"], + a = { + beginKeywords: "namespace", + end: /\{/, + excludeEnd: !0, + contains: [n.exports.CLASS_REFERENCE] + }, + i = { + beginKeywords: "interface", + end: /\{/, + excludeEnd: !0, + keywords: { + keyword: "interface extends", + built_in: t + }, + contains: [n.exports.CLASS_REFERENCE] + }, + r = { + $pattern: ce, + keyword: de.concat(["type", "namespace", "interface", "public", "private", "protected", "implements", + "declare", "abstract", "readonly", "enum", "override" + ]), + literal: ge, + built_in: _e.concat(t), + "variable.language": pe + }, + s = { + className: "meta", + begin: "@[A-Za-z$_][0-9A-Za-z$_]*" + }, + o = (e, n, t) => { + const a = e.contains.findIndex((e => e.label === n)); + if (-1 === a) throw Error("can not find mode to replace"); + e.contains.splice(a, 1, t) + }; + return Object.assign(n.keywords, r), + n.exports.PARAMS_CONTAINS.push(s), n.contains = n.contains.concat([s, a, i]), + o(n, "shebang", e.SHEBANG()), o(n, "use_strict", { + className: "meta", + relevance: 10, + begin: /^\s*['"]use strict['"]/ + }), n.contains.find((e => "func.def" === e.label)).relevance = 0, Object.assign(n, { + name: "TypeScript", + aliases: ["ts", "tsx"] + }), n + }, + grmr_vbnet: e => { + const n = e.regex, + t = /\d{1,2}\/\d{1,2}\/\d{4}/, + a = /\d{4}-\d{1,2}-\d{1,2}/, + i = /(\d|1[012])(:\d+){0,2} *(AM|PM)/, + r = /\d{1,2}(:\d{1,2}){1,2}/, + s = { + className: "literal", + variants: [{ + begin: n.concat(/# */, n.either(a, t), / *#/) + }, { + begin: n.concat(/# */, r, / *#/) + }, { + begin: n.concat(/# */, i, / *#/) + }, { + begin: n.concat(/# */, n.either(a, t), / +/, n.either(i, r), / *#/) + }] + }, + o = e.COMMENT(/'''/, /$/, { + contains: [{ + className: "doctag", + begin: /<\/?/, + end: />/ + }] + }), + l = e.COMMENT(null, /$/, { + variants: [{ + begin: /'/ + }, { + begin: /([\t ]|^)REM(?=\s)/ + }] + }); + return { + name: "Visual Basic .NET", + aliases: ["vb"], + case_insensitive: !0, + classNameAliases: { + label: "symbol" + }, + keywords: { + keyword: "addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", + built_in: "addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", + type: "boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", + literal: "true false nothing" + }, + illegal: "//|\\{|\\}|endif|gosub|variant|wend|^\\$ ", + contains: [{ + className: "string", + begin: /"(""|[^/n])"C\b/ + }, { + className: "string", + begin: /"/, + end: /"/, + illegal: /\n/, + contains: [{ + begin: /""/ + }] + }, s, { + className: "number", + relevance: 0, + variants: [{ + begin: /\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ + }, { + begin: /\b\d[\d_]*((U?[SIL])|[%&])?/ + }, { + begin: /&H[\dA-F_]+((U?[SIL])|[%&])?/ + }, { + begin: /&O[0-7_]+((U?[SIL])|[%&])?/ + }, { + begin: /&B[01_]+((U?[SIL])|[%&])?/ + }] + }, { + className: "label", + begin: /^\w+:/ + }, o, l, { + className: "meta", + begin: /[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, + end: /$/, + keywords: { + keyword: "const disable else elseif enable end externalsource if region then" + }, + contains: [l] + }] + } + }, + grmr_wasm: e => { + e.regex; + const n = e.COMMENT(/\(;/, /;\)/); + return n.contains.push("self"), { + name: "WebAssembly", + keywords: { + $pattern: /[\w.]+/, + keyword: ["anyfunc", "block", "br", "br_if", "br_table", "call", "call_indirect", "data", "drop", + "elem", "else", "end", "export", "func", "global.get", "global.set", "local.get", "local.set", + "local.tee", "get_global", "get_local", "global", "if", "import", "local", "loop", "memory", + "memory.grow", "memory.size", "module", "mut", "nop", "offset", "param", "result", "return", + "select", "set_global", "set_local", "start", "table", "tee_local", "then", "type", "unreachable" + ] + }, + contains: [e.COMMENT(/;;/, /$/), n, { + match: [/(?:offset|align)/, /\s*/, /=/], + className: { + 1: "keyword", + 3: "operator" + } + }, { + className: "variable", + begin: /\$[\w_]+/ + }, { + match: /(\((?!;)|\))+/, + className: "punctuation", + relevance: 0 + }, { + begin: [/(?:func|call|call_indirect)/, /\s+/, /\$[^\s)]+/], + className: { + 1: "keyword", + 3: "title.function" + } + }, e.QUOTE_STRING_MODE, { + match: /(i32|i64|f32|f64)(?!\.)/, + className: "type" + }, { + className: "keyword", + match: /\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/ + }, { + className: "number", + relevance: 0, + match: /[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ + }] + } + }, + grmr_yaml: e => { + const n = "true false yes no null", + t = "[\\w#;/?:@&=+$,.~*'()[\\]]+", + a = { + className: "string", + relevance: 0, + variants: [{ + begin: /'/, + end: /'/ + }, { + begin: /"/, + end: /"/ + }, { + begin: /\S+/ + }], + contains: [e.BACKSLASH_ESCAPE, { + className: "template-variable", + variants: [{ + begin: /\{\{/, + end: /\}\}/ + }, { + begin: /%\{/, + end: /\}/ + }] + }] + }, + i = e.inherit(a, { + variants: [{ + begin: /'/, + end: /'/ + }, { + begin: /"/, + end: /"/ + }, { + begin: /[^\s,{}[\]]+/ + }] + }), + r = { + end: ",", + endsWithParent: !0, + excludeEnd: !0, + keywords: n, + relevance: 0 + }, + s = { + begin: /\{/, + end: /\}/, + contains: [r], + illegal: "\\n", + relevance: 0 + }, + o = { + begin: "\\[", + end: "\\]", + contains: [r], + illegal: "\\n", + relevance: 0 + }, + l = [{ + className: "attr", + variants: [{ + begin: "\\w[\\w :\\/.-]*:(?=[ \t]|$)" + }, { + begin: '"\\w[\\w :\\/.-]*":(?=[ \t]|$)' + }, { + begin: "'\\w[\\w :\\/.-]*':(?=[ \t]|$)" + }] + }, { + className: "meta", + begin: "^---\\s*$", + relevance: 10 + }, { + className: "string", + begin: "[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*" + }, { + begin: "<%[%=-]?", + end: "[%-]?%>", + subLanguage: "ruby", + excludeBegin: !0, + excludeEnd: !0, + relevance: 0 + }, { + className: "type", + begin: "!\\w+!" + t + }, { + className: "type", + begin: "!<" + t + ">" + }, { + className: "type", + begin: "!" + t + }, { + className: "type", + begin: "!!" + t + }, { + className: "meta", + begin: "&" + e.UNDERSCORE_IDENT_RE + "$" + }, { + className: "meta", + begin: "\\*" + e.UNDERSCORE_IDENT_RE + "$" + }, { + className: "bullet", + begin: "-(?=[ ]|$)", + relevance: 0 + }, e.HASH_COMMENT_MODE, { + beginKeywords: n, + keywords: { + literal: n + } + }, { + className: "number", + begin: "\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" + }, { + className: "number", + begin: e.C_NUMBER_RE + "\\b", + relevance: 0 + }, s, o, a], + c = [...l]; + return c.pop(), c.push(i), r.contains = c, { + name: "YAML", + case_insensitive: !0, + aliases: ["yml"], + contains: l + } + } +}); +const $e = V; +for (const e of Object.keys(Be)) { + const n = e.replace("grmr_", "").replace("_", "-"); + $e.registerLanguage(n, Be[e]) +} +export { + $e as + default +}; \ No newline at end of file diff --git a/utils/markdown-it.min.js b/utils/markdown-it.min.js new file mode 100644 index 0000000..ab490d7 --- /dev/null +++ b/utils/markdown-it.min.js @@ -0,0 +1,2 @@ +function e(e){if(e.__esModule)return e;var r=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})})),r}var r={},t={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"⁡",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"⁣",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅",in:"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺",int:"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"},n=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,s={},o={};function i(e,r,t){var n,s,a,c,l,u="";for("string"!=typeof r&&(t=r,r=i.defaultChars),void 0===t&&(t=!0),l=function(e){var r,t,n=o[e];if(n)return n;for(n=o[e]=[],r=0;r<128;r++)t=String.fromCharCode(r),/^[0-9a-z]$/i.test(t)?n.push(t):n.push("%"+("0"+r.toString(16).toUpperCase()).slice(-2));for(r=0;r=55296&&a<=57343){if(a>=55296&&a<=56319&&n+1=56320&&c<=57343){u+=encodeURIComponent(e[n]+e[n+1]),n++;continue}u+="%EF%BF%BD"}else u+=encodeURIComponent(e[n]);return u}i.defaultChars=";/?:@&=+$,-_.!~*'()#",i.componentChars="-_.!~*'()";var a=i,c={};function l(e,r){var t;return"string"!=typeof r&&(r=l.defaultChars),t=function(e){var r,t,n=c[e];if(n)return n;for(n=c[e]=[],r=0;r<128;r++)t=String.fromCharCode(r),n.push(t);for(r=0;r=55296&&c<=57343?"���":String.fromCharCode(c),r+=6):240==(248&s)&&r+91114111?l+="����":(c-=65536,l+=String.fromCharCode(55296+(c>>10),56320+(1023&c))),r+=9):l+="�";return l}))}l.defaultChars=";/?:@&=+$,#",l.componentChars="";var u=l;function p(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var h=/^([a-z0-9.+-]+:)/i,f=/:[0-9]*$/,d=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,m=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),g=["'"].concat(m),_=["%","/","?",";","#"].concat(g),k=["/","?","#"],b=/^[+a-z0-9A-Z_-]{0,63}$/,v=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,C={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};p.prototype.parse=function(e,r){var t,n,s,o,i,a=e;if(a=a.trim(),!r&&1===e.split("#").length){var c=d.exec(a);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}var l=h.exec(a);if(l&&(s=(l=l[0]).toLowerCase(),this.protocol=l,a=a.substr(l.length)),(r||l||a.match(/^\/\/[^@\/]+@[^@\/]+/))&&(!(i="//"===a.substr(0,2))||l&&C[l]||(a=a.substr(2),this.slashes=!0)),!C[l]&&(i||l&&!y[l])){var u,p,f=-1;for(t=0;t127?D+="x":D+=x[w];if(!D.match(b)){var q=A.slice(0,t),S=A.slice(t+1),F=x.match(v);F&&(q.push(F[1]),S.unshift(F[2])),S.length&&(a=S.join(".")+a),this.hostname=q.join(".");break}}}}this.hostname.length>255&&(this.hostname=""),g&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var L=a.indexOf("#");-1!==L&&(this.hash=a.substr(L),a=a.slice(0,L));var z=a.indexOf("?");return-1!==z&&(this.search=a.substr(z),a=a.slice(0,z)),a&&(this.pathname=a),y[s]&&this.hostname&&!this.pathname&&(this.pathname=""),this},p.prototype.parseHost=function(e){var r=f.exec(e);r&&(":"!==(r=r[0])&&(this.port=r.substr(1)),e=e.substr(0,e.length-r.length)),e&&(this.hostname=e)};var A=function(e,r){if(e&&e instanceof p)return e;var t=new p;return t.parse(e,r),t};s.encode=a,s.decode=u,s.format=function(e){var r="";return r+=e.protocol||"",r+=e.slashes?"//":"",r+=e.auth?e.auth+"@":"",e.hostname&&-1!==e.hostname.indexOf(":")?r+="["+e.hostname+"]":r+=e.hostname||"",r+=e.port?":"+e.port:"",r+=e.pathname||"",r+=e.search||"",r+=e.hash||""},s.parse=A;var x={},D=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,w=/[\0-\x1F\x7F-\x9F]/,E=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;x.Any=D,x.Cc=w,x.Cf=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,x.P=n,x.Z=E,function(e){var r=Object.prototype.hasOwnProperty;function o(e,t){return r.call(e,t)}function i(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var r=55296+((e-=65536)>>10),t=56320+(1023&e);return String.fromCharCode(r,t)}return String.fromCharCode(e)}var c=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,l=new RegExp(c.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),u=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,p=t;var h=/[&<>"]/,f=/[&<>"]/g,d={"&":"&","<":"<",">":">",'"':"""};function m(e){return d[e]}var g=/[.?*+^$[\]\\(){}|-]/g;var _=n;e.lib={},e.lib.mdurl=s,e.lib.ucmicro=x,e.assign=function(e){var r=Array.prototype.slice.call(arguments,1);return r.forEach((function(r){if(r){if("object"!=typeof r)throw new TypeError(r+"must be object");Object.keys(r).forEach((function(t){e[t]=r[t]}))}})),e},e.isString=function(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)},e.has=o,e.unescapeMd=function(e){return e.indexOf("\\")<0?e:e.replace(c,"$1")},e.unescapeAll=function(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(l,(function(e,r,t){return r||function(e,r){var t=0;return o(p,r)?p[r]:35===r.charCodeAt(0)&&u.test(r)&&i(t="x"===r[1].toLowerCase()?parseInt(r.slice(2),16):parseInt(r.slice(1),10))?a(t):e}(e,t)}))},e.isValidEntityCode=i,e.fromCodePoint=a,e.escapeHtml=function(e){return h.test(e)?e.replace(f,m):e},e.arrayReplaceAt=function(e,r,t){return[].concat(e.slice(0,r),t,e.slice(r+1))},e.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},e.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},e.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},e.isPunctChar=function(e){return _.test(e)},e.escapeRE=function(e){return e.replace(g,"\\$&")},e.normalizeReference=function(e){return e=e.trim().replace(/\s+/g," "),"Ṿ"==="ẞ".toLowerCase()&&(e=e.replace(/ẞ/g,"ß")),e.toLowerCase().toUpperCase()}}(r);var q={},S=r.unescapeAll,F=r.unescapeAll;q.parseLinkLabel=function(e,r,t){var n,s,o,i,a=-1,c=e.posMax,l=e.pos;for(e.pos=r+1,n=1;e.pos32)return i;if(41===n){if(0===s)break;s--}r++}return o===r||0!==s||(i.str=S(e.slice(o,r)),i.lines=0,i.pos=r,i.ok=!0),i},q.parseLinkTitle=function(e,r,t){var n,s,o=0,i=r,a={ok:!1,pos:0,lines:0,str:""};if(r>=t)return a;if(34!==(s=e.charCodeAt(r))&&39!==s&&40!==s)return a;for(r++,40===s&&(s=41);r"+T(e[r].content)+""},I.code_block=function(e,r,t,n,s){var o=e[r];return""+T(e[r].content)+"\n"},I.fence=function(e,r,t,n,s){var o,i,a,c,l,u=e[r],p=u.info?z(u.info).trim():"",h="",f="";return p&&(h=(a=p.split(/(\s+)/g))[0],f=a.slice(2).join("")),0===(o=t.highlight&&t.highlight(u.content,h,f)||T(u.content)).indexOf(""+o+"\n"):"
    "+o+"
    \n"},I.image=function(e,r,t,n,s){var o=e[r];return o.attrs[o.attrIndex("alt")][1]=s.renderInlineAsText(o.children,t,n),s.renderToken(e,r,t)},I.hardbreak=function(e,r,t){return t.xhtmlOut?"
    \n":"
    \n"},I.softbreak=function(e,r,t){return t.breaks?t.xhtmlOut?"
    \n":"
    \n":"\n"},I.text=function(e,r){return T(e[r].content)},I.html_block=function(e,r){return e[r].content},I.html_inline=function(e,r){return e[r].content},M.prototype.renderAttrs=function(e){var r,t,n;if(!e.attrs)return"";for(n="",r=0,t=e.attrs.length;r\n":">")},M.prototype.renderInline=function(e,r,t){for(var n,s="",o=this.rules,i=0,a=e.length;i/i.test(e)}var V=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,Z=/\((c|tm|r)\)/i,$=/\((c|tm|r)\)/gi,G={c:"©",r:"®",tm:"™"};function H(e,r){return G[r.toLowerCase()]}function J(e){var r,t,n=0;for(r=e.length-1;r>=0;r--)"text"!==(t=e[r]).type||n||(t.content=t.content.replace($,H)),"link_open"===t.type&&"auto"===t.info&&n--,"link_close"===t.type&&"auto"===t.info&&n++}function W(e){var r,t,n=0;for(r=e.length-1;r>=0;r--)"text"!==(t=e[r]).type||n||V.test(t.content)&&(t.content=t.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),"link_open"===t.type&&"auto"===t.info&&n--,"link_close"===t.type&&"auto"===t.info&&n++}var Y=r.isWhiteSpace,K=r.isPunctChar,Q=r.isMdAsciiPunct,X=/['"]/,ee=/['"]/g;function re(e,r,t){return e.slice(0,r)+t+e.slice(r+1)}function te(e,r){var t,n,s,o,i,a,c,l,u,p,h,f,d,m,g,_,k,b,v,C,y;for(v=[],t=0;t=0&&!(v[k].level<=c);k--);if(v.length=k+1,"text"===n.type){i=0,a=(s=n.content).length;e:for(;i=0)u=s.charCodeAt(o.index-1);else for(k=t-1;k>=0&&("softbreak"!==e[k].type&&"hardbreak"!==e[k].type);k--)if(e[k].content){u=e[k].content.charCodeAt(e[k].content.length-1);break}if(p=32,i=48&&u<=57&&(_=g=!1),g&&_&&(g=h,_=f),g||_){if(_)for(k=v.length-1;k>=0&&(l=v[k],!(v[k].level=0&&(t=this.attrs[r][1]),t},ne.prototype.attrJoin=function(e,r){var t=this.attrIndex(e);t<0?this.attrPush([e,r]):this.attrs[t][1]=this.attrs[t][1]+" "+r};var se=ne,oe=se;function ie(e,r,t){this.src=e,this.env=t,this.tokens=[],this.inlineMode=!1,this.md=r}ie.prototype.Token=oe;var ae=ie,ce=N,le=[["normalize",function(e){var r;r=(r=e.src.replace(O,"\n")).replace(P,"�"),e.src=r}],["block",function(e){var r;e.inlineMode?((r=new e.Token("inline","",0)).content=e.src,r.map=[0,1],r.children=[],e.tokens.push(r)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}],["inline",function(e){var r,t,n,s=e.tokens;for(t=0,n=s.length;t=0;r--)if("link_close"!==(i=s[r]).type){if("html_inline"===i.type&&(k=i.content,/^\s]/i.test(k)&&f>0&&f--,U(i.content)&&f++),!(f>0)&&"text"===i.type&&e.md.linkify.test(i.content)){for(l=i.content,_=e.md.linkify.match(l),a=[],h=i.level,p=0,_.length>0&&0===_[0].index&&r>0&&"text_special"===s[r-1].type&&(_=_.slice(1)),c=0;c<_.length;c++)d=_[c].url,m=e.md.normalizeLink(d),e.md.validateLink(m)&&(g=_[c].text,g=_[c].schema?"mailto:"!==_[c].schema||/^mailto:/i.test(g)?e.md.normalizeLinkText(g):e.md.normalizeLinkText("mailto:"+g).replace(/^mailto:/,""):e.md.normalizeLinkText("http://"+g).replace(/^http:\/\//,""),(u=_[c].index)>p&&((o=new e.Token("text","",0)).content=l.slice(p,u),o.level=h,a.push(o)),(o=new e.Token("link_open","a",1)).attrs=[["href",m]],o.level=h++,o.markup="linkify",o.info="auto",a.push(o),(o=new e.Token("text","",0)).content=g,o.level=h,a.push(o),(o=new e.Token("link_close","a",-1)).level=--h,o.markup="linkify",o.info="auto",a.push(o),p=_[c].lastIndex);p=0;r--)"inline"===e.tokens[r].type&&(Z.test(e.tokens[r].content)&&J(e.tokens[r].children),V.test(e.tokens[r].content)&&W(e.tokens[r].children))}],["smartquotes",function(e){var r;if(e.md.options.typographer)for(r=e.tokens.length-1;r>=0;r--)"inline"===e.tokens[r].type&&X.test(e.tokens[r].content)&&te(e.tokens[r].children,e)}],["text_join",function(e){var r,t,n,s,o,i,a=e.tokens;for(r=0,t=a.length;r=o)return-1;if((t=e.src.charCodeAt(s++))<48||t>57)return-1;for(;;){if(s>=o)return-1;if(!((t=e.src.charCodeAt(s++))>=48&&t<=57)){if(41===t||46===t)break;return-1}if(s-n>=10)return-1}return s`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",xe="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",De=new RegExp("^(?:"+Ae+"|"+xe+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?][\\s\\S]*?[?]>|]*>|)"),we=new RegExp("^(?:"+Ae+"|"+xe+")");ye.HTML_TAG_RE=De,ye.HTML_OPEN_CLOSE_TAG_RE=we;var Ee=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],qe=ye.HTML_OPEN_CLOSE_TAG_RE,Se=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(qe.source+"\\s*$"),/^$/,!1]],Fe=r.isSpace,Le=se,ze=r.isSpace;function Te(e,r,t,n){var s,o,i,a,c,l,u,p;for(this.src=e,this.md=r,this.env=t,this.tokens=n,this.bMarks=[],this.eMarks=[],this.tShift=[],this.sCount=[],this.bsCount=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.ddIndent=-1,this.listIndent=-1,this.parentType="root",this.level=0,this.result="",p=!1,i=a=l=u=0,c=(o=this.src).length;a0&&this.level++,this.tokens.push(n),n},Te.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},Te.prototype.skipEmptyLines=function(e){for(var r=this.lineMax;er;)if(!ze(this.src.charCodeAt(--e)))return e+1;return e},Te.prototype.skipChars=function(e,r){for(var t=this.src.length;et;)if(r!==this.src.charCodeAt(--e))return e+1;return e},Te.prototype.getLines=function(e,r,t,n){var s,o,i,a,c,l,u,p=e;if(e>=r)return"";for(l=new Array(r-e),s=0;pt?new Array(o-t+1).join(" ")+this.src.slice(a,c):this.src.slice(a,c)}return l.join("")},Te.prototype.Token=Le;var Ie=Te,Me=N,Re=[["table",function(e,r,t,n){var s,o,i,a,c,l,u,p,h,f,d,m,g,_,k,b,v,C;if(r+2>t)return!1;if(l=r+1,e.sCount[l]=4)return!1;if((i=e.bMarks[l]+e.tShift[l])>=e.eMarks[l])return!1;if(124!==(v=e.src.charCodeAt(i++))&&45!==v&&58!==v)return!1;if(i>=e.eMarks[l])return!1;if(124!==(C=e.src.charCodeAt(i++))&&45!==C&&58!==C&&!he(C))return!1;if(45===v&&he(C))return!1;for(;i=4)return!1;if((u=de(o)).length&&""===u[0]&&u.shift(),u.length&&""===u[u.length-1]&&u.pop(),0===(p=u.length)||p!==f.length)return!1;if(n)return!0;for(_=e.parentType,e.parentType="table",b=e.md.block.ruler.getRules("blockquote"),(h=e.push("table_open","table",1)).map=m=[r,0],(h=e.push("thead_open","thead",1)).map=[r,r+1],(h=e.push("tr_open","tr",1)).map=[r,r+1],a=0;a=4)break;for((u=de(o)).length&&""===u[0]&&u.shift(),u.length&&""===u[u.length-1]&&u.pop(),l===r+2&&((h=e.push("tbody_open","tbody",1)).map=g=[r+2,0]),(h=e.push("tr_open","tr",1)).map=[l,l+1],a=0;a=4))break;s=++n}return e.line=s,(o=e.push("code_block","code",0)).content=e.getLines(r,s,4+e.blkIndent,!1)+"\n",o.map=[r,e.line],!0}],["fence",function(e,r,t,n){var s,o,i,a,c,l,u,p=!1,h=e.bMarks[r]+e.tShift[r],f=e.eMarks[r];if(e.sCount[r]-e.blkIndent>=4)return!1;if(h+3>f)return!1;if(126!==(s=e.src.charCodeAt(h))&&96!==s)return!1;if(c=h,(o=(h=e.skipChars(h,s))-c)<3)return!1;if(u=e.src.slice(c,h),i=e.src.slice(h,f),96===s&&i.indexOf(String.fromCharCode(s))>=0)return!1;if(n)return!0;for(a=r;!(++a>=t)&&!((h=c=e.bMarks[a]+e.tShift[a])<(f=e.eMarks[a])&&e.sCount[a]=4||(h=e.skipChars(h,s))-c=4)return!1;if(62!==e.src.charCodeAt(D++))return!1;if(n)return!0;for(a=h=e.sCount[r]+1,32===e.src.charCodeAt(D)?(D++,a++,h++,s=!1,b=!0):9===e.src.charCodeAt(D)?(b=!0,(e.bsCount[r]+h)%4==3?(D++,a++,h++,s=!1):s=!0):b=!1,f=[e.bMarks[r]],e.bMarks[r]=D;D=w,_=[e.sCount[r]],e.sCount[r]=h-a,k=[e.tShift[r]],e.tShift[r]=D-e.bMarks[r],C=e.md.block.ruler.getRules("blockquote"),g=e.parentType,e.parentType="blockquote",p=r+1;p=(w=e.eMarks[p])));p++)if(62!==e.src.charCodeAt(D++)||A){if(l)break;for(v=!1,i=0,c=C.length;i=w,d.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(b?1:0),_.push(e.sCount[p]),e.sCount[p]=h-a,k.push(e.tShift[p]),e.tShift[p]=D-e.bMarks[p]}for(m=e.blkIndent,e.blkIndent=0,(y=e.push("blockquote_open","blockquote",1)).markup=">",y.map=u=[r,0],e.md.block.tokenize(e,r,p),(y=e.push("blockquote_close","blockquote",-1)).markup=">",e.lineMax=x,e.parentType=g,u[1]=e.line,i=0;i=4)return!1;if(42!==(s=e.src.charCodeAt(c++))&&45!==s&&95!==s)return!1;for(o=1;c=4)return!1;if(e.listIndent>=0&&e.sCount[r]-e.listIndent>=4&&e.sCount[r]=e.blkIndent&&(z=!0),(w=be(e,r))>=0){if(u=!0,q=e.bMarks[r]+e.tShift[r],g=Number(e.src.slice(q,w-1)),z&&1!==g)return!1}else{if(!((w=ke(e,r))>=0))return!1;u=!1}if(z&&e.skipSpaces(w)>=e.eMarks[r])return!1;if(m=e.src.charCodeAt(w-1),n)return!0;for(d=e.tokens.length,u?(L=e.push("ordered_list_open","ol",1),1!==g&&(L.attrs=[["start",g]])):L=e.push("bullet_list_open","ul",1),L.map=f=[r,0],L.markup=String.fromCharCode(m),k=r,E=!1,F=e.md.block.ruler.getRules("list"),C=e.parentType,e.parentType="list";k=_?1:b-l)>4&&(c=1),a=l+c,(L=e.push("list_item_open","li",1)).markup=String.fromCharCode(m),L.map=p=[r,0],u&&(L.info=e.src.slice(q,w-1)),x=e.tight,A=e.tShift[r],y=e.sCount[r],v=e.listIndent,e.listIndent=e.blkIndent,e.blkIndent=a,e.tight=!0,e.tShift[r]=o-e.bMarks[r],e.sCount[r]=b,o>=_&&e.isEmpty(r+1)?e.line=Math.min(e.line+2,t):e.md.block.tokenize(e,r,t,!0),e.tight&&!E||(T=!1),E=e.line-r>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=v,e.tShift[r]=A,e.sCount[r]=y,e.tight=x,(L=e.push("list_item_close","li",-1)).markup=String.fromCharCode(m),k=r=e.line,p[1]=k,o=e.bMarks[r],k>=t)break;if(e.sCount[k]=4)break;for(S=!1,i=0,h=F.length;i=4)return!1;if(91!==e.src.charCodeAt(C))return!1;for(;++C3||e.sCount[A]<0)){for(_=!1,l=0,u=k.length;l=4)return!1;if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(c))return!1;for(a=e.src.slice(c,l),s=0;s=4)return!1;if(35!==(s=e.src.charCodeAt(c))||c>=l)return!1;for(o=1,s=e.src.charCodeAt(++c);35===s&&c6||cc&&Fe(e.src.charCodeAt(i-1))&&(l=i),e.line=r+1,(a=e.push("heading_open","h"+String(o),1)).markup="########".slice(0,o),a.map=[r,e.line],(a=e.push("inline","",0)).content=e.src.slice(c,l).trim(),a.map=[r,e.line],a.children=[],(a=e.push("heading_close","h"+String(o),-1)).markup="########".slice(0,o)),!0)},["paragraph","reference","blockquote"]],["lheading",function(e,r,t){var n,s,o,i,a,c,l,u,p,h,f=r+1,d=e.md.block.ruler.getRules("paragraph");if(e.sCount[r]-e.blkIndent>=4)return!1;for(h=e.parentType,e.parentType="paragraph";f3)){if(e.sCount[f]>=e.blkIndent&&(c=e.bMarks[f]+e.tShift[f])<(l=e.eMarks[f])&&(45===(p=e.src.charCodeAt(c))||61===p)&&(c=e.skipChars(c,p),(c=e.skipSpaces(c))>=l)){u=61===p?1:2;break}if(!(e.sCount[f]<0)){for(s=!1,o=0,i=d.length;o3||e.sCount[c]<0)){for(n=!1,s=0,o=l.length;s=t))&&!(e.sCount[i]=c){e.line=t;break}for(n=0;n?@[]^_`{|}~-".split("").forEach((function(e){Ve[e.charCodeAt(0)]=1}));var $e={};function Ge(e,r){var t,n,s,o,i,a=[],c=r.length;for(t=0;t=0;t--)95!==(n=r[t]).marker&&42!==n.marker||-1!==n.end&&(s=r[n.end],a=t>0&&r[t-1].end===n.end+1&&r[t-1].marker===n.marker&&r[t-1].token===n.token-1&&r[n.end+1].token===s.token+1,i=String.fromCharCode(n.marker),(o=e.tokens[n.token]).type=a?"strong_open":"em_open",o.tag=a?"strong":"em",o.nesting=1,o.markup=a?i+i:i,o.content="",(o=e.tokens[s.token]).type=a?"strong_close":"em_close",o.tag=a?"strong":"em",o.nesting=-1,o.markup=a?i+i:i,o.content="",a&&(e.tokens[r[t-1].token].content="",e.tokens[r[n.end+1].token].content="",t--))}He.tokenize=function(e,r){var t,n,s=e.pos,o=e.src.charCodeAt(s);if(r)return!1;if(95!==o&&42!==o)return!1;for(n=e.scanDelims(e.pos,42===o),t=0;t\x00-\x20]*)$/,rr=ye.HTML_TAG_RE;var tr=t,nr=r.has,sr=r.isValidEntityCode,or=r.fromCodePoint,ir=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,ar=/^&([a-z][a-z0-9]{1,31});/i;function cr(e,r){var t,n,s,o,i,a,c,l,u={},p=r.length;if(p){var h=0,f=-2,d=[];for(t=0;ti;n-=d[n]+1)if((o=r[n]).marker===s.marker&&o.open&&o.end<0&&(c=!1,(o.close||s.open)&&(o.length+s.length)%3==0&&(o.length%3==0&&s.length%3==0||(c=!0)),!c)){l=n>0&&!r[n-1].open?d[n-1]+1:0,d[t]=t-n+l,d[n]=l,s.open=!1,o.end=t,o.close=!1,a=-1,f=-2;break}-1!==a&&(u[s.marker][(s.open?3:0)+(s.length||0)%3]=a)}}}var lr=se,ur=r.isWhiteSpace,pr=r.isPunctChar,hr=r.isMdAsciiPunct;function fr(e,r,t,n){this.src=e,this.env=t,this.md=r,this.tokens=n,this.tokens_meta=Array(n.length),this.pos=0,this.posMax=this.src.length,this.level=0,this.pending="",this.pendingLevel=0,this.cache={},this.delimiters=[],this._prev_delimiters=[],this.backticks={},this.backticksScanned=!1,this.linkLevel=0}fr.prototype.pushPending=function(){var e=new lr("text","",0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending="",e},fr.prototype.push=function(e,r,t){this.pending&&this.pushPending();var n=new lr(e,r,t),s=null;return t<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),n.level=this.level,t>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],s={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(n),this.tokens_meta.push(s),n},fr.prototype.scanDelims=function(e,r){var t,n,s,o,i,a,c,l,u,p=e,h=!0,f=!0,d=this.posMax,m=this.src.charCodeAt(e);for(t=e>0?this.src.charCodeAt(e-1):32;p0)&&(!((t=e.pos)+3>e.posMax)&&(58===e.src.charCodeAt(t)&&(47===e.src.charCodeAt(t+1)&&(47===e.src.charCodeAt(t+2)&&(!!(n=e.pending.match(Pe))&&(s=n[1],!!(o=e.md.linkify.matchAtStart(e.src.slice(t-s.length)))&&(i=(i=o.url).replace(/\*+$/,""),a=e.md.normalizeLink(i),!!e.md.validateLink(a)&&(r||(e.pending=e.pending.slice(0,-s.length),(c=e.push("link_open","a",1)).attrs=[["href",a]],c.markup="linkify",c.info="auto",(c=e.push("text","",0)).content=e.md.normalizeLinkText(i),(c=e.push("link_close","a",-1)).markup="linkify",c.info="auto"),e.pos+=i.length-s.length,!0)))))))))}],["newline",function(e,r){var t,n,s,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;if(t=e.pending.length-1,n=e.posMax,!r)if(t>=0&&32===e.pending.charCodeAt(t))if(t>=1&&32===e.pending.charCodeAt(t-1)){for(s=t-1;s>=1&&32===e.pending.charCodeAt(s-1);)s--;e.pending=e.pending.slice(0,s),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(o++;o=c)return!1;if(10===(t=e.src.charCodeAt(a))){for(r||e.push("hardbreak","br",0),a++;a=55296&&t<=56319&&a+1=56320&&n<=57343&&(o+=e.src[a+1],a++),s="\\"+o,r||(i=e.push("text_special","",0),t<256&&0!==Ve[t]?i.content=o:i.content=s,i.markup=s,i.info="escape"),e.pos=a+1,!0}],["backticks",function(e,r){var t,n,s,o,i,a,c,l,u=e.pos;if(96!==e.src.charCodeAt(u))return!1;for(t=u,u++,n=e.posMax;u=f)return!1;if(d=a,(c=e.md.helpers.parseLinkDestination(e.src,a,e.posMax)).ok){for(u=e.md.normalizeLink(c.str),e.md.validateLink(u)?a=c.pos:u="",d=a;a=f||41!==e.src.charCodeAt(a))&&(m=!0),a++}if(m){if(void 0===e.env.references)return!1;if(a=0?s=e.src.slice(d,a++):a=o+1):a=o+1,s||(s=e.src.slice(i,o)),!(l=e.env.references[We(s)]))return e.pos=h,!1;u=l.href,p=l.title}return r||(e.pos=i,e.posMax=o,e.push("link_open","a",1).attrs=t=[["href",u]],p&&t.push(["title",p]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)),e.pos=a,e.posMax=f,!0}],["image",function(e,r){var t,n,s,o,i,a,c,l,u,p,h,f,d,m="",g=e.pos,_=e.posMax;if(33!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;if(a=e.pos+2,(i=e.md.helpers.parseLinkLabel(e,e.pos+1,!1))<0)return!1;if((c=i+1)<_&&40===e.src.charCodeAt(c)){for(c++;c<_&&(n=e.src.charCodeAt(c),Qe(n)||10===n);c++);if(c>=_)return!1;for(d=c,(u=e.md.helpers.parseLinkDestination(e.src,c,e.posMax)).ok&&(m=e.md.normalizeLink(u.str),e.md.validateLink(m)?c=u.pos:m=""),d=c;c<_&&(n=e.src.charCodeAt(c),Qe(n)||10===n);c++);if(u=e.md.helpers.parseLinkTitle(e.src,c,e.posMax),c<_&&d!==c&&u.ok)for(p=u.str,c=u.pos;c<_&&(n=e.src.charCodeAt(c),Qe(n)||10===n);c++);else p="";if(c>=_||41!==e.src.charCodeAt(c))return e.pos=g,!1;c++}else{if(void 0===e.env.references)return!1;if(c<_&&91===e.src.charCodeAt(c)?(d=c+1,(c=e.md.helpers.parseLinkLabel(e,c))>=0?o=e.src.slice(d,c++):c=i+1):c=i+1,o||(o=e.src.slice(a,i)),!(l=e.env.references[Ke(o)]))return e.pos=g,!1;m=l.href,p=l.title}return r||(s=e.src.slice(a,i),e.md.inline.parse(s,e.md,e.env,f=[]),(h=e.push("image","img",0)).attrs=t=[["src",m],["alt",""]],h.children=f,h.content=s,p&&t.push(["title",p])),e.pos=c,e.posMax=_,!0}],["autolink",function(e,r){var t,n,s,o,i,a,c=e.pos;if(60!==e.src.charCodeAt(c))return!1;for(i=e.pos,a=e.posMax;;){if(++c>=a)return!1;if(60===(o=e.src.charCodeAt(c)))return!1;if(62===o)break}return t=e.src.slice(i+1,c),er.test(t)?(n=e.md.normalizeLink(t),!!e.md.validateLink(n)&&(r||((s=e.push("link_open","a",1)).attrs=[["href",n]],s.markup="autolink",s.info="auto",(s=e.push("text","",0)).content=e.md.normalizeLinkText(t),(s=e.push("link_close","a",-1)).markup="autolink",s.info="auto"),e.pos+=t.length+2,!0)):!!Xe.test(t)&&(n=e.md.normalizeLink("mailto:"+t),!!e.md.validateLink(n)&&(r||((s=e.push("link_open","a",1)).attrs=[["href",n]],s.markup="autolink",s.info="auto",(s=e.push("text","",0)).content=e.md.normalizeLinkText(t),(s=e.push("link_close","a",-1)).markup="autolink",s.info="auto"),e.pos+=t.length+2,!0))}],["html_inline",function(e,r){var t,n,s,o,i,a=e.pos;return!!e.md.options.html&&(s=e.posMax,!(60!==e.src.charCodeAt(a)||a+2>=s)&&(!(33!==(t=e.src.charCodeAt(a+1))&&63!==t&&47!==t&&!function(e){var r=32|e;return r>=97&&r<=122}(t))&&(!!(n=e.src.slice(a).match(rr))&&(r||((o=e.push("html_inline","",0)).content=e.src.slice(a,a+n[0].length),i=o.content,/^\s]/i.test(i)&&e.linkLevel++,function(e){return/^<\/a\s*>/i.test(e)}(o.content)&&e.linkLevel--),e.pos+=n[0].length,!0))))}],["entity",function(e,r){var t,n,s,o=e.pos,i=e.posMax;if(38!==e.src.charCodeAt(o))return!1;if(o+1>=i)return!1;if(35===e.src.charCodeAt(o+1)){if(n=e.src.slice(o).match(ir))return r||(t="x"===n[1][0].toLowerCase()?parseInt(n[1].slice(1),16):parseInt(n[1],10),(s=e.push("text_special","",0)).content=sr(t)?or(t):or(65533),s.markup=n[0],s.info="entity"),e.pos+=n[0].length,!0}else if((n=e.src.slice(o).match(ar))&&nr(tr,n[1]))return r||((s=e.push("text_special","",0)).content=tr[n[1]],s.markup=n[0],s.info="entity"),e.pos+=n[0].length,!0;return!1}]],_r=[["balance_pairs",function(e){var r,t=e.tokens_meta,n=e.tokens_meta.length;for(cr(0,e.delimiters),r=0;r0&&n++,"text"===s[r].type&&r+1=o)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},kr.prototype.parse=function(e,r,t,n){var s,o,i,a=new this.State(e,r,t,n);for(this.tokenize(a),i=(o=this.ruler2.getRules("")).length,s=0;s=3&&":"===e[r-3]||r>=3&&"/"===e[r-3]?0:n.match(t.re.no_http)[0].length:0}},"mailto:":{validate:function(e,r,t){var n=e.slice(r);return t.re.mailto||(t.re.mailto=new RegExp("^"+t.re.src_email_name+"@"+t.re.src_host_strict,"i")),t.re.mailto.test(n)?n.match(t.re.mailto)[0].length:0}}},wr="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function Er(e){var r=e.re=function(e){var r={};return e=e||{},r.src_Any=D.source,r.src_Cc=w.source,r.src_Z=E.source,r.src_P=n.source,r.src_ZPCc=[r.src_Z,r.src_P,r.src_Cc].join("|"),r.src_ZCc=[r.src_Z,r.src_Cc].join("|"),r.src_pseudo_letter="(?:(?![><|]|"+r.src_ZPCc+")"+r.src_Any+")",r.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",r.src_auth="(?:(?:(?!"+r.src_ZCc+"|[@/\\[\\]()]).)+@)?",r.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",r.src_host_terminator="(?=$|[><|]|"+r.src_ZPCc+")(?!"+(e["---"]?"-(?!--)|":"-|")+"_|:\\d|\\.-|\\.(?!$|"+r.src_ZPCc+"))",r.src_path="(?:[/?#](?:(?!"+r.src_ZCc+"|[><|]|[()[\\]{}.,\"'?!\\-;]).|\\[(?:(?!"+r.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+r.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+r.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+r.src_ZCc+'|["]).)+\\"|\\\'(?:(?!'+r.src_ZCc+"|[']).)+\\'|\\'(?="+r.src_pseudo_letter+"|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+r.src_ZCc+"|[.]|$)|"+(e["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+r.src_ZCc+"|$)|;(?!"+r.src_ZCc+"|$)|\\!+(?!"+r.src_ZCc+"|[!]|$)|\\?(?!"+r.src_ZCc+"|[?]|$))+|\\/)?",r.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',r.src_xn="xn--[a-z0-9\\-]{1,59}",r.src_domain_root="(?:"+r.src_xn+"|"+r.src_pseudo_letter+"{1,63})",r.src_domain="(?:"+r.src_xn+"|(?:"+r.src_pseudo_letter+")|(?:"+r.src_pseudo_letter+"(?:-|"+r.src_pseudo_letter+"){0,61}"+r.src_pseudo_letter+"))",r.src_host="(?:(?:(?:(?:"+r.src_domain+")\\.)*"+r.src_domain+"))",r.tpl_host_fuzzy="(?:"+r.src_ip4+"|(?:(?:(?:"+r.src_domain+")\\.)+(?:%TLDS%)))",r.tpl_host_no_ip_fuzzy="(?:(?:(?:"+r.src_domain+")\\.)+(?:%TLDS%))",r.src_host_strict=r.src_host+r.src_host_terminator,r.tpl_host_fuzzy_strict=r.tpl_host_fuzzy+r.src_host_terminator,r.src_host_port_strict=r.src_host+r.src_port+r.src_host_terminator,r.tpl_host_port_fuzzy_strict=r.tpl_host_fuzzy+r.src_port+r.src_host_terminator,r.tpl_host_port_no_ip_fuzzy_strict=r.tpl_host_no_ip_fuzzy+r.src_port+r.src_host_terminator,r.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+r.src_ZPCc+"|>|$))",r.tpl_email_fuzzy='(^|[><|]|"|\\(|'+r.src_ZCc+")("+r.src_email_name+"@"+r.tpl_host_fuzzy_strict+")",r.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+r.src_ZPCc+"))((?![$+<=>^`||])"+r.tpl_host_port_fuzzy_strict+r.src_path+")",r.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+r.src_ZPCc+"))((?![$+<=>^`||])"+r.tpl_host_port_no_ip_fuzzy_strict+r.src_path+")",r}(e.__opts__),t=e.__tlds__.slice();function s(e){return e.replace("%TLDS%",r.src_tlds)}e.onCompile(),e.__tlds_replaced__||t.push("a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]"),t.push(r.src_xn),r.src_tlds=t.join("|"),r.email_fuzzy=RegExp(s(r.tpl_email_fuzzy),"i"),r.link_fuzzy=RegExp(s(r.tpl_link_fuzzy),"i"),r.link_no_ip_fuzzy=RegExp(s(r.tpl_link_no_ip_fuzzy),"i"),r.host_fuzzy_test=RegExp(s(r.tpl_host_fuzzy_test),"i");var o=[];function i(e,r){throw new Error('(LinkifyIt) Invalid schema "'+e+'": '+r)}e.__compiled__={},Object.keys(e.__schemas__).forEach((function(r){var t=e.__schemas__[r];if(null!==t){var n={validate:null,link:null};if(e.__compiled__[r]=n,"[object Object]"===Cr(t))return!function(e){return"[object RegExp]"===Cr(e)}(t.validate)?yr(t.validate)?n.validate=t.validate:i(r,t):n.validate=function(e){return function(r,t){var n=r.slice(t);return e.test(n)?n.match(e)[0].length:0}}(t.validate),void(yr(t.normalize)?n.normalize=t.normalize:t.normalize?i(r,t):n.normalize=function(e,r){r.normalize(e)});!function(e){return"[object String]"===Cr(e)}(t)?i(r,t):o.push(r)}})),o.forEach((function(r){e.__compiled__[e.__schemas__[r]]&&(e.__compiled__[r].validate=e.__compiled__[e.__schemas__[r]].validate,e.__compiled__[r].normalize=e.__compiled__[e.__schemas__[r]].normalize)})),e.__compiled__[""]={validate:null,normalize:function(e,r){r.normalize(e)}};var a=Object.keys(e.__compiled__).filter((function(r){return r.length>0&&e.__compiled__[r]})).map(Ar).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+r.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+r.src_ZPCc+"))("+a+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),function(e){e.__index__=-1,e.__text_cache__=""}(e)}function qr(e,r){var t=e.__index__,n=e.__last_index__,s=e.__text_cache__.slice(t,n);this.schema=e.__schema__.toLowerCase(),this.index=t+r,this.lastIndex=n+r,this.raw=s,this.text=s,this.url=s}function Sr(e,r){var t=new qr(e,r);return e.__compiled__[t.schema].normalize(t,e),t}function Fr(e,r){if(!(this instanceof Fr))return new Fr(e,r);var t;r||(t=e,Object.keys(t||{}).reduce((function(e,r){return e||xr.hasOwnProperty(r)}),!1)&&(r=e,e={})),this.__opts__=vr({},xr,r),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=vr({},Dr,e),this.__compiled__={},this.__tlds__=wr,this.__tlds_replaced__=!1,this.re={},Er(this)}Fr.prototype.add=function(e,r){return this.__schemas__[e]=r,Er(this),this},Fr.prototype.set=function(e){return this.__opts__=vr(this.__opts__,e),this},Fr.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var r,t,n,s,o,i,a,c;if(this.re.schema_test.test(e))for((a=this.re.schema_search).lastIndex=0;null!==(r=a.exec(e));)if(s=this.testSchemaAt(e,r[2],a.lastIndex)){this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+s;break}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=e.search(this.re.host_fuzzy_test))>=0&&(this.__index__<0||c=0&&null!==(n=e.match(this.re.email_fuzzy))&&(o=n.index+n[1].length,i=n.index+n[0].length,(this.__index__<0||othis.__last_index__)&&(this.__schema__="mailto:",this.__index__=o,this.__last_index__=i)),this.__index__>=0},Fr.prototype.pretest=function(e){return this.re.pretest.test(e)},Fr.prototype.testSchemaAt=function(e,r,t){return this.__compiled__[r.toLowerCase()]?this.__compiled__[r.toLowerCase()].validate(e,t,this):0},Fr.prototype.match=function(e){var r=0,t=[];this.__index__>=0&&this.__text_cache__===e&&(t.push(Sr(this,r)),r=this.__last_index__);for(var n=r?e.slice(r):e;this.test(n);)t.push(Sr(this,r)),n=n.slice(this.__last_index__),r+=this.__last_index__;return t.length?t:null},Fr.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;var r=this.re.schema_at_start.exec(e);if(!r)return null;var t=this.testSchemaAt(e,r[2],r[0].length);return t?(this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+t,Sr(this,0)):null},Fr.prototype.tlds=function(e,r){return e=Array.isArray(e)?e:[e],r?(this.__tlds__=this.__tlds__.concat(e).sort().filter((function(e,r,t){return e!==t[r-1]})).reverse(),Er(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,Er(this),this)},Fr.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)},Fr.prototype.onCompile=function(){};var Lr=Fr,zr=2147483647,Tr=/^xn--/,Ir=/[^\x20-\x7E]/,Mr=/[\x2E\u3002\uFF0E\uFF61]/g,Rr={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Br=Math.floor,Nr=String.fromCharCode; +/*! https://mths.be/punycode v1.4.1 by @mathias */function Or(e){throw new RangeError(Rr[e])}function Pr(e,r){for(var t=e.length,n=[];t--;)n[t]=r(e[t]);return n}function jr(e,r){var t=e.split("@"),n="";return t.length>1&&(n=t[0]+"@",e=t[1]),n+Pr((e=e.replace(Mr,".")).split("."),r).join(".")}function Ur(e){for(var r,t,n=[],s=0,o=e.length;s=55296&&r<=56319&&s65535&&(r+=Nr((e-=65536)>>>10&1023|55296),e=56320|1023&e),r+=Nr(e)})).join("")}function Zr(e,r){return e+22+75*(e<26)-((0!=r)<<5)}function $r(e,r,t){var n=0;for(e=t?Br(e/700):e>>1,e+=Br(e/r);e>455;n+=36)e=Br(e/35);return Br(n+36*e/(e+38))}function Gr(e){var r,t,n,s,o,i,a,c,l,u,p,h=[],f=e.length,d=0,m=128,g=72;for((t=e.lastIndexOf("-"))<0&&(t=0),n=0;n=128&&Or("not-basic"),h.push(e.charCodeAt(n));for(s=t>0?t+1:0;s=f&&Or("invalid-input"),((c=(p=e.charCodeAt(s++))-48<10?p-22:p-65<26?p-65:p-97<26?p-97:36)>=36||c>Br((zr-d)/i))&&Or("overflow"),d+=c*i,!(c<(l=a<=g?1:a>=g+26?26:a-g));a+=36)i>Br(zr/(u=36-l))&&Or("overflow"),i*=u;g=$r(d-o,r=h.length+1,0==o),Br(d/r)>zr-m&&Or("overflow"),m+=Br(d/r),d%=r,h.splice(d++,0,m)}return Vr(h)}function Hr(e){var r,t,n,s,o,i,a,c,l,u,p,h,f,d,m,g=[];for(h=(e=Ur(e)).length,r=128,t=0,o=72,i=0;i=r&&pBr((zr-t)/(f=n+1))&&Or("overflow"),t+=(a-r)*f,r=a,i=0;izr&&Or("overflow"),p==r){for(c=t,l=36;!(c<(u=l<=o?1:l>=o+26?26:l-o));l+=36)m=c-u,d=36-u,g.push(Nr(Zr(u+m%d,0))),c=Br(m/d);g.push(Nr(Zr(c,0))),o=$r(t,f,n==s),t=0,++n}++t,++r}return g.join("")}function Jr(e){return jr(e,(function(e){return Tr.test(e)?Gr(e.slice(4).toLowerCase()):e}))}function Wr(e){return jr(e,(function(e){return Ir.test(e)?"xn--"+Hr(e):e}))}var Yr={decode:Ur,encode:Vr},Kr={version:"1.4.1",ucs2:Yr,toASCII:Wr,toUnicode:Jr,encode:Hr,decode:Gr},Qr=r,Xr=q,et=R,rt=pe,tt=Ne,nt=br,st=Lr,ot=s,it=e(Object.freeze({__proto__:null,decode:Gr,encode:Hr,toUnicode:Jr,toASCII:Wr,version:"1.4.1",ucs2:Yr,default:Kr})),at={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["paragraph"]},inline:{rules:["text"],rules2:["balance_pairs","fragments_join"]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkify:!1,typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["normalize","block","inline","text_join"]},block:{rules:["blockquote","code","fence","heading","hr","html_block","lheading","list","reference","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","html_inline","image","link","newline","text"],rules2:["balance_pairs","emphasis","fragments_join"]}}}},ct=/^(vbscript|javascript|file|data):/,lt=/^data:image\/(gif|png|jpeg|webp);/;function ut(e){var r=e.trim().toLowerCase();return!ct.test(r)||!!lt.test(r)}var pt=["http:","https:","mailto:"];function ht(e){var r=ot.parse(e,!0);if(r.hostname&&(!r.protocol||pt.indexOf(r.protocol)>=0))try{r.hostname=it.toASCII(r.hostname)}catch(e){}return ot.encode(ot.format(r))}function ft(e){var r=ot.parse(e,!0);if(r.hostname&&(!r.protocol||pt.indexOf(r.protocol)>=0))try{r.hostname=it.toUnicode(r.hostname)}catch(e){}return ot.decode(ot.format(r),ot.decode.defaultChars+"%")}function dt(e,r){if(!(this instanceof dt))return new dt(e,r);r||Qr.isString(e)||(r=e||{},e="default"),this.inline=new nt,this.block=new tt,this.core=new rt,this.renderer=new et,this.linkify=new st,this.validateLink=ut,this.normalizeLink=ht,this.normalizeLinkText=ft,this.utils=Qr,this.helpers=Qr.assign({},Xr),this.options={},this.configure(e),r&&this.set(r)}dt.prototype.set=function(e){return Qr.assign(this.options,e),this},dt.prototype.configure=function(e){var r,t=this;if(Qr.isString(e)&&!(e=at[r=e]))throw new Error('Wrong `markdown-it` preset "'+r+'", check name');if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach((function(r){e.components[r].rules&&t[r].ruler.enableOnly(e.components[r].rules),e.components[r].rules2&&t[r].ruler2.enableOnly(e.components[r].rules2)})),this},dt.prototype.enable=function(e,r){var t=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(r){t=t.concat(this[r].ruler.enable(e,!0))}),this),t=t.concat(this.inline.ruler2.enable(e,!0));var n=e.filter((function(e){return t.indexOf(e)<0}));if(n.length&&!r)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+n);return this},dt.prototype.disable=function(e,r){var t=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach((function(r){t=t.concat(this[r].ruler.disable(e,!0))}),this),t=t.concat(this.inline.ruler2.disable(e,!0));var n=e.filter((function(e){return t.indexOf(e)<0}));if(n.length&&!r)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+n);return this},dt.prototype.use=function(e){var r=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,r),this},dt.prototype.parse=function(e,r){if("string"!=typeof e)throw new Error("Input data should be a String");var t=new this.core.State(e,this,r);return this.core.process(t),t.tokens},dt.prototype.render=function(e,r){return r=r||{},this.renderer.render(this.parse(e,r),this.options,r)},dt.prototype.parseInline=function(e,r){var t=new this.core.State(e,this,r);return t.inlineMode=!0,this.core.process(t),t.tokens},dt.prototype.renderInline=function(e,r){return r=r||{},this.renderer.render(this.parseInline(e,r),this.options,r)};var mt=dt;export default mt; diff --git a/utils/request.js b/utils/request.js index 0823f73..92df0a0 100644 --- a/utils/request.js +++ b/utils/request.js @@ -74,9 +74,6 @@ function baseRequest(options) { // 结构请求需要的参数 const {url, params, data, login, ...option} = options - console.log(params, '=====params'); - console.log(params, '=====data'); - console.log(option, '=======option'); let _params = {} if(['get', 'GET'].includes(options.method)) { _params = { diff --git a/utils/util.js b/utils/util.js index 7cf7dd9..bde353d 100644 --- a/utils/util.js +++ b/utils/util.js @@ -155,7 +155,7 @@ function pushSysBySecondsHandle() { } } if (statsData.length < 1) { - console.log('*************没有页面埋点数据则不用上报,节约网络请求') + // console.log('*************没有页面埋点数据则不用上报,节约网络请求') return } // 设备类型phone、pad、pc、unknow @@ -169,7 +169,7 @@ function pushSysBySecondsHandle() { deviceType: deviceType === 'phone' ? osName : 'unknown', statsData } - console.log('开始上报数据-------------------') + // console.log('开始上报数据-------------------') pushSystemStatic(postData).then(res => { const { success } = res if (success) { @@ -177,7 +177,7 @@ function pushSysBySecondsHandle() { for (const key in Vue.prototype.$pageToWatchData) { Vue.prototype.$pageToWatchData[key] = [] } - console.log('*************清除上次未登录缓存的页面埋点数据') + // console.log('*************清除上次未登录缓存的页面埋点数据') uni.removeStorageSync(pageViewDataCacheKey) } }).catch(err => {