@tensorix/metahub 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +162 -0
- package/dist/cli.js +20961 -0
- package/dist/cli.js.map +143 -0
- package/dist/core/blocks.d.ts +22 -0
- package/dist/core/blocks.d.ts.map +1 -0
- package/dist/core/cache.d.ts +10 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/context.d.ts +11 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/crdt.d.ts +35 -0
- package/dist/core/crdt.d.ts.map +1 -0
- package/dist/core/csv.d.ts +14 -0
- package/dist/core/csv.d.ts.map +1 -0
- package/dist/core/databases.d.ts +19 -0
- package/dist/core/databases.d.ts.map +1 -0
- package/dist/core/db.d.ts +13 -0
- package/dist/core/db.d.ts.map +1 -0
- package/dist/core/documents.d.ts +50 -0
- package/dist/core/documents.d.ts.map +1 -0
- package/dist/core/fracdex.d.ts +5 -0
- package/dist/core/fracdex.d.ts.map +1 -0
- package/dist/core/hlc.d.ts +13 -0
- package/dist/core/hlc.d.ts.map +1 -0
- package/dist/core/ids.d.ts +17 -0
- package/dist/core/ids.d.ts.map +1 -0
- package/dist/core/index.d.ts +22 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/indexing.d.ts +16 -0
- package/dist/core/indexing.d.ts.map +1 -0
- package/dist/core/node.d.ts +4 -0
- package/dist/core/node.d.ts.map +1 -0
- package/dist/core/paths.d.ts +4 -0
- package/dist/core/paths.d.ts.map +1 -0
- package/dist/core/properties.d.ts +35 -0
- package/dist/core/properties.d.ts.map +1 -0
- package/dist/core/records.d.ts +18 -0
- package/dist/core/records.d.ts.map +1 -0
- package/dist/core/resolve.d.ts +33 -0
- package/dist/core/resolve.d.ts.map +1 -0
- package/dist/core/schema.d.ts +3 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/search.d.ts +12 -0
- package/dist/core/search.d.ts.map +1 -0
- package/dist/core/sites.d.ts +45 -0
- package/dist/core/sites.d.ts.map +1 -0
- package/dist/core/snapshot.d.ts +58 -0
- package/dist/core/snapshot.d.ts.map +1 -0
- package/dist/core/sync/auth.d.ts +39 -0
- package/dist/core/sync/auth.d.ts.map +1 -0
- package/dist/core/sync/client.d.ts +8 -0
- package/dist/core/sync/client.d.ts.map +1 -0
- package/dist/core/sync/files.d.ts +17 -0
- package/dist/core/sync/files.d.ts.map +1 -0
- package/dist/core/sync/openapi.d.ts +14 -0
- package/dist/core/sync/openapi.d.ts.map +1 -0
- package/dist/core/sync/protocol.d.ts +49 -0
- package/dist/core/sync/protocol.d.ts.map +1 -0
- package/dist/core/sync/routes.d.ts +22 -0
- package/dist/core/sync/routes.d.ts.map +1 -0
- package/dist/core/sync/server.d.ts +21 -0
- package/dist/core/sync/server.d.ts.map +1 -0
- package/dist/core/sync/sites-routes.d.ts +3 -0
- package/dist/core/sync/sites-routes.d.ts.map +1 -0
- package/dist/core/sync/sites-serve.d.ts +3 -0
- package/dist/core/sync/sites-serve.d.ts.map +1 -0
- package/dist/core/sync/token.d.ts +23 -0
- package/dist/core/sync/token.d.ts.map +1 -0
- package/dist/core/sync/webui-routes.d.ts +3 -0
- package/dist/core/sync/webui-routes.d.ts.map +1 -0
- package/dist/core/sync/webui.d.ts +4 -0
- package/dist/core/sync/webui.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17389 -0
- package/dist/index.js.map +114 -0
- package/dist/webui.js +34 -0
- package/package.json +41 -0
package/dist/webui.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var i5=Object.create;var{getPrototypeOf:E5,defineProperty:FZ,getOwnPropertyNames:c5}=Object;var a5=Object.prototype.hasOwnProperty;var d5=(q,Z,$)=>{$=q!=null?i5(E5(q)):{};let J=Z||!q||!q.__esModule?FZ($,"default",{value:q,enumerable:!0}):$;for(let Q of c5(q))if(!a5.call(J,Q))FZ(J,Q,{get:()=>q[Q],enumerable:!0});return J};var Kq=(q,Z)=>()=>(Z||q((Z={exports:{}}).exports,Z),Z.exports);var M8=Kq((xJ,V8)=>{function H8(q){if(q instanceof Map)q.clear=q.delete=q.set=function(){throw new Error("map is read-only")};else if(q instanceof Set)q.add=q.clear=q.delete=function(){throw new Error("set is read-only")};return Object.freeze(q),Object.getOwnPropertyNames(q).forEach((Z)=>{let $=q[Z],J=typeof $;if((J==="object"||J==="function")&&!Object.isFrozen($))H8($)}),q}class D9{constructor(q){if(q.data===void 0)q.data={};this.data=q.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function F8(q){return q.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function eq(q,...Z){let $=Object.create(null);for(let J in q)$[J]=q[J];return Z.forEach(function(J){for(let Q in J)$[Q]=J[Q]}),$}var m6="</span>",$8=(q)=>{return!!q.scope},p6=(q,{prefix:Z})=>{if(q.startsWith("language:"))return q.replace("language:","language-");if(q.includes(".")){let $=q.split(".");return[`${Z}${$.shift()}`,...$.map((J,Q)=>`${J}${"_".repeat(Q+1)}`)].join(" ")}return`${Z}${q}`};class G8{constructor(q,Z){this.buffer="",this.classPrefix=Z.classPrefix,q.walk(this)}addText(q){this.buffer+=F8(q)}openNode(q){if(!$8(q))return;let Z=p6(q.scope,{prefix:this.classPrefix});this.span(Z)}closeNode(q){if(!$8(q))return;this.buffer+=m6}value(){return this.buffer}span(q){this.buffer+=`<span class="${q}">`}}var J8=(q={})=>{let Z={children:[]};return Object.assign(Z,q),Z};class u9{constructor(){this.rootNode=J8(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(q){this.top.children.push(q)}openNode(q){let Z=J8({scope:q});this.add(Z),this.stack.push(Z)}closeNode(){if(this.stack.length>1)return this.stack.pop();return}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(q){return this.constructor._walk(q,this.rootNode)}static _walk(q,Z){if(typeof Z==="string")q.addText(Z);else if(Z.children)q.openNode(Z),Z.children.forEach(($)=>this._walk(q,$)),q.closeNode(Z);return q}static _collapse(q){if(typeof q==="string")return;if(!q.children)return;if(q.children.every((Z)=>typeof Z==="string"))q.children=[q.children.join("")];else q.children.forEach((Z)=>{u9._collapse(Z)})}}class K8 extends u9{constructor(q){super();this.options=q}addText(q){if(q==="")return;this.add(q)}startScope(q){this.openNode(q)}endScope(){this.closeNode()}__addSublanguage(q,Z){let $=q.root;if(Z)$.scope=`language:${Z}`;this.add($)}toHTML(){return new G8(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function f0(q){if(!q)return null;if(typeof q==="string")return q;return q.source}function Y8(q){return z0("(?=",q,")")}function i6(q){return z0("(?:",q,")*")}function E6(q){return z0("(?:",q,")?")}function z0(...q){return q.map(($)=>f0($)).join("")}function c6(q){let Z=q[q.length-1];if(typeof Z==="object"&&Z.constructor===Object)return q.splice(q.length-1,1),Z;else return{}}function h9(...q){return"("+(c6(q).capture?"":"?:")+q.map((J)=>f0(J)).join("|")+")"}function U8(q){return new RegExp(q.toString()+"|").exec("").length-1}function a6(q,Z){let $=q&&q.exec(Z);return $&&$.index===0}var d6=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function m9(q,{joinWith:Z}){let $=0;return q.map((J)=>{$+=1;let Q=$,X=f0(J),W="";while(X.length>0){let H=d6.exec(X);if(!H){W+=X;break}if(W+=X.substring(0,H.index),X=X.substring(H.index+H[0].length),H[0][0]==="\\"&&H[1])W+="\\"+String(Number(H[1])+Q);else if(W+=H[0],H[0]==="(")$++}return W}).map((J)=>`(${J})`).join(Z)}var n6=/\b\B/,y8="[a-zA-Z]\\w*",p9="[a-zA-Z_]\\w*",w8="\\b\\d+(\\.\\d+)?",B8="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",P8="\\b(0b[01]+)",r6="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",t6=(q={})=>{let Z=/^#![ ]*\//;if(q.binary)q.begin=z0(Z,/.*\b/,q.binary,/\b.*/);return eq({scope:"meta",begin:Z,end:/$/,relevance:0,"on:begin":($,J)=>{if($.index!==0)J.ignoreMatch()}},q)},k0={begin:"\\\\[\\s\\S]",relevance:0},l6={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[k0]},s6={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[k0]},o6={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/},l0=function(q,Z,$={}){let J=eq({scope:"comment",begin:q,end:Z,contains:[]},$);J.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let Q=h9("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 J.contains.push({begin:z0(/[ ]+/,"(",Q,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),J},e6=l0("//","$"),q1=l0("/\\*","\\*/"),Z1=l0("#","$"),$1={scope:"number",begin:w8,relevance:0},J1={scope:"number",begin:B8,relevance:0},z1={scope:"number",begin:P8,relevance:0},Q1={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[k0,{begin:/\[/,end:/\]/,relevance:0,contains:[k0]}]},X1={scope:"title",begin:y8,relevance:0},W1={scope:"title",begin:p9,relevance:0},H1={begin:"\\.\\s*"+p9,relevance:0},F1=function(q){return Object.assign(q,{"on:begin":(Z,$)=>{$.data._beginMatch=Z[1]},"on:end":(Z,$)=>{if($.data._beginMatch!==Z[1])$.ignoreMatch()}})},r0=Object.freeze({__proto__:null,APOS_STRING_MODE:l6,BACKSLASH_ESCAPE:k0,BINARY_NUMBER_MODE:z1,BINARY_NUMBER_RE:P8,COMMENT:l0,C_BLOCK_COMMENT_MODE:q1,C_LINE_COMMENT_MODE:e6,C_NUMBER_MODE:J1,C_NUMBER_RE:B8,END_SAME_AS_BEGIN:F1,HASH_COMMENT_MODE:Z1,IDENT_RE:y8,MATCH_NOTHING_RE:n6,METHOD_GUARD:H1,NUMBER_MODE:$1,NUMBER_RE:w8,PHRASAL_WORDS_MODE:o6,QUOTE_STRING_MODE:s6,REGEXP_MODE:Q1,RE_STARTERS_RE:r6,SHEBANG:t6,TITLE_MODE:X1,UNDERSCORE_IDENT_RE:p9,UNDERSCORE_TITLE_MODE:W1});function G1(q,Z){if(q.input[q.index-1]===".")Z.ignoreMatch()}function K1(q,Z){if(q.className!==void 0)q.scope=q.className,delete q.className}function Y1(q,Z){if(!Z)return;if(!q.beginKeywords)return;if(q.begin="\\b("+q.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",q.__beforeBegin=G1,q.keywords=q.keywords||q.beginKeywords,delete q.beginKeywords,q.relevance===void 0)q.relevance=0}function U1(q,Z){if(!Array.isArray(q.illegal))return;q.illegal=h9(...q.illegal)}function y1(q,Z){if(!q.match)return;if(q.begin||q.end)throw new Error("begin & end are not supported with match");q.begin=q.match,delete q.match}function w1(q,Z){if(q.relevance===void 0)q.relevance=1}var B1=(q,Z)=>{if(!q.beforeMatch)return;if(q.starts)throw new Error("beforeMatch cannot be used with starts");let $=Object.assign({},q);Object.keys(q).forEach((J)=>{delete q[J]}),q.keywords=$.keywords,q.begin=z0($.beforeMatch,Y8($.begin)),q.starts={relevance:0,contains:[Object.assign($,{endsParent:!0})]},q.relevance=0,delete $.beforeMatch},P1=["of","and","for","in","not","or","if","then","parent","list","value"],L1="keyword";function L8(q,Z,$=L1){let J=Object.create(null);if(typeof q==="string")Q($,q.split(" "));else if(Array.isArray(q))Q($,q);else Object.keys(q).forEach(function(X){Object.assign(J,L8(q[X],Z,X))});return J;function Q(X,W){if(Z)W=W.map((H)=>H.toLowerCase());W.forEach(function(H){let G=H.split("|");J[G[0]]=[X,v1(G[0],G[1])]})}}function v1(q,Z){if(Z)return Number(Z);return C1(q)?0:1}function C1(q){return P1.includes(q.toLowerCase())}var z8={},J0=(q)=>{console.error(q)},Q8=(q,...Z)=>{console.log(`WARN: ${q}`,...Z)},y0=(q,Z)=>{if(z8[`${q}/${Z}`])return;console.log(`Deprecated as of ${q}. ${Z}`),z8[`${q}/${Z}`]=!0},t0=new Error;function v8(q,Z,{key:$}){let J=0,Q=q[$],X={},W={};for(let H=1;H<=Z.length;H++)W[H+J]=Q[H],X[H+J]=!0,J+=U8(Z[H-1]);q[$]=W,q[$]._emit=X,q[$]._multi=!0}function A1(q){if(!Array.isArray(q.begin))return;if(q.skip||q.excludeBegin||q.returnBegin)throw J0("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),t0;if(typeof q.beginScope!=="object"||q.beginScope===null)throw J0("beginScope must be object"),t0;v8(q,q.begin,{key:"beginScope"}),q.begin=m9(q.begin,{joinWith:""})}function O1(q){if(!Array.isArray(q.end))return;if(q.skip||q.excludeEnd||q.returnEnd)throw J0("skip, excludeEnd, returnEnd not compatible with endScope: {}"),t0;if(typeof q.endScope!=="object"||q.endScope===null)throw J0("endScope must be object"),t0;v8(q,q.end,{key:"endScope"}),q.end=m9(q.end,{joinWith:""})}function V1(q){if(q.scope&&typeof q.scope==="object"&&q.scope!==null)q.beginScope=q.scope,delete q.scope}function M1(q){if(V1(q),typeof q.beginScope==="string")q.beginScope={_wrap:q.beginScope};if(typeof q.endScope==="string")q.endScope={_wrap:q.endScope};A1(q),O1(q)}function _1(q){function Z(W,H){return new RegExp(f0(W),"m"+(q.case_insensitive?"i":"")+(q.unicodeRegex?"u":"")+(H?"g":""))}class ${constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(W,H){H.position=this.position++,this.matchIndexes[this.matchAt]=H,this.regexes.push([H,W]),this.matchAt+=U8(W)+1}compile(){if(this.regexes.length===0)this.exec=()=>null;let W=this.regexes.map((H)=>H[1]);this.matcherRe=Z(m9(W,{joinWith:"|"}),!0),this.lastIndex=0}exec(W){this.matcherRe.lastIndex=this.lastIndex;let H=this.matcherRe.exec(W);if(!H)return null;let G=H.findIndex((U,Y)=>Y>0&&U!==void 0),F=this.matchIndexes[G];return H.splice(0,G),Object.assign(H,F)}}class J{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(W){if(this.multiRegexes[W])return this.multiRegexes[W];let H=new $;return this.rules.slice(W).forEach(([G,F])=>H.addRule(G,F)),H.compile(),this.multiRegexes[W]=H,H}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(W,H){if(this.rules.push([W,H]),H.type==="begin")this.count++}exec(W){let H=this.getMatcher(this.regexIndex);H.lastIndex=this.lastIndex;let G=H.exec(W);if(this.resumingScanAtSamePosition())if(G&&G.index===this.lastIndex);else{let F=this.getMatcher(0);F.lastIndex=this.lastIndex+1,G=F.exec(W)}if(G){if(this.regexIndex+=G.position+1,this.regexIndex===this.count)this.considerAll()}return G}}function Q(W){let H=new J;if(W.contains.forEach((G)=>H.addRule(G.begin,{rule:G,type:"begin"})),W.terminatorEnd)H.addRule(W.terminatorEnd,{type:"end"});if(W.illegal)H.addRule(W.illegal,{type:"illegal"});return H}function X(W,H){let G=W;if(W.isCompiled)return G;[K1,y1,M1,B1].forEach((U)=>U(W,H)),q.compilerExtensions.forEach((U)=>U(W,H)),W.__beforeBegin=null,[Y1,U1,w1].forEach((U)=>U(W,H)),W.isCompiled=!0;let F=null;if(typeof W.keywords==="object"&&W.keywords.$pattern)W.keywords=Object.assign({},W.keywords),F=W.keywords.$pattern,delete W.keywords.$pattern;if(F=F||/\w+/,W.keywords)W.keywords=L8(W.keywords,q.case_insensitive);if(G.keywordPatternRe=Z(F,!0),H){if(!W.begin)W.begin=/\B|\b/;if(G.beginRe=Z(G.begin),!W.end&&!W.endsWithParent)W.end=/\B|\b/;if(W.end)G.endRe=Z(G.end);if(G.terminatorEnd=f0(G.end)||"",W.endsWithParent&&H.terminatorEnd)G.terminatorEnd+=(W.end?"|":"")+H.terminatorEnd}if(W.illegal)G.illegalRe=Z(W.illegal);if(!W.contains)W.contains=[];if(W.contains=[].concat(...W.contains.map(function(U){return N1(U==="self"?W:U)})),W.contains.forEach(function(U){X(U,G)}),W.starts)X(W.starts,H);return G.matcher=Q(G),G}if(!q.compilerExtensions)q.compilerExtensions=[];if(q.contains&&q.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return q.classNameAliases=eq(q.classNameAliases||{}),X(q)}function C8(q){if(!q)return!1;return q.endsWithParent||C8(q.starts)}function N1(q){if(q.variants&&!q.cachedVariants)q.cachedVariants=q.variants.map(function(Z){return eq(q,{variants:null},Z)});if(q.cachedVariants)return q.cachedVariants;if(C8(q))return eq(q,{starts:q.starts?eq(q.starts):null});if(Object.isFrozen(q))return eq(q);return q}var f1="11.11.1";class A8 extends Error{constructor(q,Z){super(q);this.name="HTMLInjectionError",this.html=Z}}var j9=F8,X8=eq,W8=Symbol("nomatch"),k1=7,O8=function(q){let Z=Object.create(null),$=Object.create(null),J=[],Q=!0,X="Could not find the language '{}', did you forget to load/include a language module?",W={disableAutodetect:!0,name:"Plain text",contains:[]},H={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:K8};function G(g){return H.noHighlightRe.test(g)}function F(g){let M=g.className+" ";M+=g.parentNode?g.parentNode.className:"";let C=H.languageDetectRe.exec(M);if(C){let b=R(C[1]);if(!b)Q8(X.replace("{}",C[1])),Q8("Falling back to no-highlight mode for this block.",g);return b?C[1]:"no-highlight"}return M.split(/\s+/).find((b)=>G(b)||R(b))}function U(g,M,C){let b="",r="";if(typeof M==="object")b=g,C=M.ignoreIllegals,r=M.language;else y0("10.7.0","highlight(lang, code, ...args) has been deprecated."),y0("10.7.0",`Please use highlight(code, options) instead.
|
|
2
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),r=g,b=M;if(C===void 0)C=!0;let s={code:b,language:r};Qq("before:highlight",s);let $q=s.result?s.result:Y(s.language,s.code,C);return $q.code=s.code,Qq("after:highlight",$q),$q}function Y(g,M,C,b){let r=Object.create(null);function s(m,n){return m.keywords[n]}function $q(){if(!o.keywords){kq.addText(Bq);return}let m=0;o.keywordPatternRe.lastIndex=0;let n=o.keywordPatternRe.exec(Bq),K="";while(n){K+=Bq.substring(m,n.index);let L=Cq.case_insensitive?n[0].toLowerCase():n[0],p=s(o,L);if(p){let[k,j]=p;if(kq.addText(K),K="",r[L]=(r[L]||0)+1,r[L]<=k1)W0+=j;if(k.startsWith("_"))K+=n[0];else{let Wq=Cq.classNameAliases[k]||k;Jq(n[0],Wq)}}else K+=n[0];m=o.keywordPatternRe.lastIndex,n=o.keywordPatternRe.exec(Bq)}K+=Bq.substring(m),kq.addText(K)}function Fq(){if(Bq==="")return;let m=null;if(typeof o.subLanguage==="string"){if(!Z[o.subLanguage]){kq.addText(Bq);return}m=Y(o.subLanguage,Bq,!0,aq[o.subLanguage]),aq[o.subLanguage]=m._top}else m=y(Bq,o.subLanguage.length?o.subLanguage:null);if(o.relevance>0)W0+=m.relevance;kq.__addSublanguage(m._emitter,m.language)}function vq(){if(o.subLanguage!=null)Fq();else $q();Bq=""}function Jq(m,n){if(m==="")return;kq.startScope(n),kq.addText(m),kq.endScope()}function _(m,n){let K=1,L=n.length-1;while(K<=L){if(!m._emit[K]){K++;continue}let p=Cq.classNameAliases[m[K]]||m[K],k=n[K];if(p)Jq(k,p);else Bq=k,$q(),Bq="";K++}}function x(m,n){if(m.scope&&typeof m.scope==="string")kq.openNode(Cq.classNameAliases[m.scope]||m.scope);if(m.beginScope){if(m.beginScope._wrap)Jq(Bq,Cq.classNameAliases[m.beginScope._wrap]||m.beginScope._wrap),Bq="";else if(m.beginScope._multi)_(m.beginScope,n),Bq=""}return o=Object.create(m,{parent:{value:o}}),o}function a(m,n,K){let L=a6(m.endRe,K);if(L){if(m["on:end"]){let p=new D9(m);if(m["on:end"](n,p),p.isMatchIgnored)L=!1}if(L){while(m.endsParent&&m.parent)m=m.parent;return m}}if(m.endsWithParent)return a(m.parent,n,K)}function d(m){if(o.matcher.regexIndex===0)return Bq+=m[0],1;else return C0=!0,0}function zq(m){let n=m[0],K=m.rule,L=new D9(K),p=[K.__beforeBegin,K["on:begin"]];for(let k of p){if(!k)continue;if(k(m,L),L.isMatchIgnored)return d(n)}if(K.skip)Bq+=n;else{if(K.excludeBegin)Bq+=n;if(vq(),!K.returnBegin&&!K.excludeBegin)Bq=n}return x(K,m),K.returnBegin?0:n.length}function wq(m){let n=m[0],K=M.substring(m.index),L=a(o,m,K);if(!L)return W8;let p=o;if(o.endScope&&o.endScope._wrap)vq(),Jq(n,o.endScope._wrap);else if(o.endScope&&o.endScope._multi)vq(),_(o.endScope,m);else if(p.skip)Bq+=n;else{if(!(p.returnEnd||p.excludeEnd))Bq+=n;if(vq(),p.excludeEnd)Bq=n}do{if(o.scope)kq.closeNode();if(!o.skip&&!o.subLanguage)W0+=o.relevance;o=o.parent}while(o!==L.parent);if(L.starts)x(L.starts,m);return p.returnEnd?0:n.length}function l(){let m=[];for(let n=o;n!==Cq;n=n.parent)if(n.scope)m.unshift(n.scope);m.forEach((n)=>kq.openNode(n))}let E={};function c(m,n){let K=n&&n[0];if(Bq+=m,K==null)return vq(),0;if(E.type==="begin"&&n.type==="end"&&E.index===n.index&&K===""){if(Bq+=M.slice(n.index,n.index+1),!Q){let L=new Error(`0 width match regex (${g})`);throw L.languageName=g,L.badRule=E.rule,L}return 1}if(E=n,n.type==="begin")return zq(n);else if(n.type==="illegal"&&!C){let L=new Error('Illegal lexeme "'+K+'" for mode "'+(o.scope||"<unnamed>")+'"');throw L.mode=o,L}else if(n.type==="end"){let L=wq(n);if(L!==W8)return L}if(n.type==="illegal"&&K==="")return Bq+=`
|
|
3
|
+
`,1;if(v0>1e5&&v0>n.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Bq+=K,K.length}let Cq=R(g);if(!Cq)throw J0(X.replace("{}",g)),new Error('Unknown language: "'+g+'"');let Gq=_1(Cq),Eq="",o=b||Gq,aq={},kq=new H.__emitter(H);l();let Bq="",W0=0,dq=0,v0=0,C0=!1;try{if(!Cq.__emitTokens){o.matcher.considerAll();for(;;){if(v0++,C0)C0=!1;else o.matcher.considerAll();o.matcher.lastIndex=dq;let m=o.matcher.exec(M);if(!m)break;let n=M.substring(dq,m.index),K=c(n,m);dq=m.index+K}c(M.substring(dq))}else Cq.__emitTokens(M,kq);return kq.finalize(),Eq=kq.toHTML(),{language:g,value:Eq,relevance:W0,illegal:!1,_emitter:kq,_top:o}}catch(m){if(m.message&&m.message.includes("Illegal"))return{language:g,value:j9(M),illegal:!0,relevance:0,_illegalBy:{message:m.message,index:dq,context:M.slice(dq-100,dq+100),mode:m.mode,resultSoFar:Eq},_emitter:kq};else if(Q)return{language:g,value:j9(M),illegal:!1,relevance:0,errorRaised:m,_emitter:kq,_top:o};else throw m}}function v(g){let M={value:j9(g),illegal:!1,relevance:0,_top:W,_emitter:new H.__emitter(H)};return M._emitter.addText(g),M}function y(g,M){M=M||H.languages||Object.keys(Z);let C=v(g),b=M.filter(R).filter(u).map((vq)=>Y(vq,g,!1));b.unshift(C);let r=b.sort((vq,Jq)=>{if(vq.relevance!==Jq.relevance)return Jq.relevance-vq.relevance;if(vq.language&&Jq.language){if(R(vq.language).supersetOf===Jq.language)return 1;else if(R(Jq.language).supersetOf===vq.language)return-1}return 0}),[s,$q]=r,Fq=s;return Fq.secondBest=$q,Fq}function w(g,M,C){let b=M&&$[M]||C;g.classList.add("hljs"),g.classList.add(`language-${b}`)}function V(g){let M=null,C=F(g);if(G(C))return;if(Qq("before:highlightElement",{el:g,language:C}),g.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",g);return}if(g.children.length>0){if(!H.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(g);if(H.throwUnescapedHTML)throw new A8("One of your code blocks includes unescaped HTML.",g.innerHTML)}M=g;let b=M.textContent,r=C?U(b,{language:C,ignoreIllegals:!0}):y(b);if(g.innerHTML=r.value,g.dataset.highlighted="yes",w(g,C,r.language),g.result={language:r.language,re:r.relevance,relevance:r.relevance},r.secondBest)g.secondBest={language:r.secondBest.language,relevance:r.secondBest.relevance};Qq("after:highlightElement",{el:g,result:r,text:b})}function A(g){H=X8(H,g)}let f=()=>{B(),y0("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function S(){B(),y0("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let O=!1;function B(){function g(){B()}if(document.readyState==="loading"){if(!O)window.addEventListener("DOMContentLoaded",g,!1);O=!0;return}document.querySelectorAll(H.cssSelector).forEach(V)}function N(g,M){let C=null;try{C=M(q)}catch(b){if(J0("Language definition for '{}' could not be registered.".replace("{}",g)),!Q)throw b;else J0(b);C=W}if(!C.name)C.name=g;if(Z[g]=C,C.rawDefinition=M.bind(null,q),C.aliases)T(C.aliases,{languageName:g})}function P(g){delete Z[g];for(let M of Object.keys($))if($[M]===g)delete $[M]}function I(){return Object.keys(Z)}function R(g){return g=(g||"").toLowerCase(),Z[g]||Z[$[g]]}function T(g,{languageName:M}){if(typeof g==="string")g=[g];g.forEach((C)=>{$[C.toLowerCase()]=M})}function u(g){let M=R(g);return M&&!M.disableAutodetect}function h(g){if(g["before:highlightBlock"]&&!g["before:highlightElement"])g["before:highlightElement"]=(M)=>{g["before:highlightBlock"](Object.assign({block:M.el},M))};if(g["after:highlightBlock"]&&!g["after:highlightElement"])g["after:highlightElement"]=(M)=>{g["after:highlightBlock"](Object.assign({block:M.el},M))}}function t(g){h(g),J.push(g)}function D(g){let M=J.indexOf(g);if(M!==-1)J.splice(M,1)}function Qq(g,M){let C=g;J.forEach(function(b){if(b[C])b[C](M)})}function Yq(g){return y0("10.7.0","highlightBlock will be removed entirely in v12.0"),y0("10.7.0","Please use highlightElement now."),V(g)}Object.assign(q,{highlight:U,highlightAuto:y,highlightAll:B,highlightElement:V,highlightBlock:Yq,configure:A,initHighlighting:f,initHighlightingOnLoad:S,registerLanguage:N,unregisterLanguage:P,listLanguages:I,getLanguage:R,registerAliases:T,autoDetection:u,inherit:X8,addPlugin:t,removePlugin:D}),q.debugMode=function(){Q=!1},q.safeMode=function(){Q=!0},q.versionString=f1,q.regex={concat:z0,lookahead:Y8,either:h9,optional:E6,anyNumberOfTimes:i6};for(let g in r0)if(typeof r0[g]==="object")H8(r0[g]);return Object.assign(q,r0),q},w0=O8({});w0.newInstance=()=>O8({});V8.exports=w0;w0.HighlightJS=w0;w0.default=w0});var N8=Kq((jJ,_8)=>{function g1(q){let Z=q.regex,$=Z.concat(/[\p{L}_]/u,Z.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),J=/[\p{L}0-9._:-]+/u,Q={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},X={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},W=q.inherit(X,{begin:/\(/,end:/\)/}),H=q.inherit(q.APOS_STRING_MODE,{className:"string"}),G=q.inherit(q.QUOTE_STRING_MODE,{className:"string"}),F={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:J,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[Q]},{begin:/'/,end:/'/,contains:[Q]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[X,G,H,W,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[X,W,G,H]}]}]},q.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},Q,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[G]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[F],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[F],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:Z.concat(/</,Z.lookahead(Z.concat($,Z.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:$,relevance:0,starts:F}]},{className:"tag",begin:Z.concat(/<\//,Z.lookahead(Z.concat($,/>/))),contains:[{className:"name",begin:$,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}_8.exports=g1});var k8=Kq((DJ,f8)=>{function b1(q){let Z=q.regex,$={},J={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[$]}]};Object.assign($,{className:"variable",variants:[{begin:Z.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},J]});let Q={className:"subst",begin:/\$\(/,end:/\)/,contains:[q.BACKSLASH_ESCAPE]},X=q.inherit(q.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),W={begin:/<<-?\s*(?=\w+)/,starts:{contains:[q.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},H={className:"string",begin:/"/,end:/"/,contains:[q.BACKSLASH_ESCAPE,$,Q]};Q.contains.push(H);let G={match:/\\"/},F={className:"string",begin:/'/,end:/'/},U={match:/\\'/},Y={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},q.NUMBER_MODE,$]},v=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],y=q.SHEBANG({binary:`(${v.join("|")})`,relevance:10}),w={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[q.inherit(q.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},V=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],A=["true","false"],f={match:/(\/[a-z._-]+)+/},S=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],O=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],B=["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"],N=["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"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:V,literal:A,built_in:[...S,...O,"set","shopt",...B,...N]},contains:[y,q.SHEBANG(),w,Y,X,W,f,H,G,F,U,$]}}f8.exports=b1});var b8=Kq((uJ,g8)=>{function S1(q){let Z=q.regex,$=q.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),J="decltype\\(auto\\)",Q="[a-zA-Z_]\\w*::",X="<[^<>]+>",W="(decltype\\(auto\\)|"+Z.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+Z.optional("<[^<>]+>")+")",H={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},G="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",F={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[q.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:"."},q.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},U={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},Y={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},q.inherit(F,{className:"string"}),{className:"string",begin:/<.*?>/},$,q.C_BLOCK_COMMENT_MODE]},v={className:"title",begin:Z.optional("[a-zA-Z_]\\w*::")+q.IDENT_RE,relevance:0},y=Z.optional("[a-zA-Z_]\\w*::")+q.IDENT_RE+"\\s*\\(",A={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","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","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","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"},f=[Y,H,$,q.C_BLOCK_COMMENT_MODE,U,F],S={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:A,contains:f.concat([{begin:/\(/,end:/\)/,keywords:A,contains:f.concat(["self"]),relevance:0}]),relevance:0},O={begin:"("+W+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:A,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:A,relevance:0},{begin:y,returnBegin:!0,contains:[q.inherit(v,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:[$,q.C_BLOCK_COMMENT_MODE,F,U,H,{begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:["self",$,q.C_BLOCK_COMMENT_MODE,F,U,H]}]},H,$,q.C_BLOCK_COMMENT_MODE,Y]};return{name:"C",aliases:["h"],keywords:A,disableAutodetect:!0,illegal:"</",contains:[].concat(S,O,f,[Y,{begin:q.IDENT_RE+"::",keywords:A},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},q.TITLE_MODE]}]),exports:{preprocessor:Y,strings:F,keywords:A}}}g8.exports=S1});var T8=Kq((hJ,S8)=>{function T1(q){let Z=q.regex,$=q.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),J="decltype\\(auto\\)",Q="[a-zA-Z_]\\w*::",X="<[^<>]+>",W="(?!struct)(decltype\\(auto\\)|"+Z.optional("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+Z.optional("<[^<>]+>")+")",H={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},G="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",F={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[q.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:"."},q.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},U={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},Y={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},q.inherit(F,{className:"string"}),{className:"string",begin:/<.*?>/},$,q.C_BLOCK_COMMENT_MODE]},v={className:"title",begin:Z.optional("[a-zA-Z_]\\w*::")+q.IDENT_RE,relevance:0},y=Z.optional("[a-zA-Z_]\\w*::")+q.IDENT_RE+"\\s*\\(",w=["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"],V=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],A=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","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"],f=["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"],B={type:V,keyword:w,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:A},N={className:"function.dispatch",relevance:0,keywords:{_hint:f},begin:Z.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,q.IDENT_RE,Z.lookahead(/(<[^<>]+>|)\s*\(/))},P=[N,Y,H,$,q.C_BLOCK_COMMENT_MODE,U,F],I={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:B,contains:P.concat([{begin:/\(/,end:/\)/,keywords:B,contains:P.concat(["self"]),relevance:0}]),relevance:0},R={className:"function",begin:"("+W+"[\\*&\\s]+)+"+y,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:B,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)",keywords:B,relevance:0},{begin:y,returnBegin:!0,contains:[v],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[F,U]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:[$,q.C_BLOCK_COMMENT_MODE,F,U,H,{begin:/\(/,end:/\)/,keywords:B,relevance:0,contains:["self",$,q.C_BLOCK_COMMENT_MODE,F,U,H]}]},H,$,q.C_BLOCK_COMMENT_MODE,Y]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:B,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(I,R,N,P,[Y,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:B,contains:["self",H]},{begin:q.IDENT_RE+"::",keywords:B},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}S8.exports=T1});var R8=Kq((mJ,I8)=>{function I1(q){let Z=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],$=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],J=["default","false","null","true"],Q=["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"],X=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],W={keyword:Q.concat(X),built_in:Z,literal:J},H=q.inherit(q.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),G={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},F={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},U={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},Y=q.inherit(U,{illegal:/\n/}),v={className:"subst",begin:/\{/,end:/\}/,keywords:W},y=q.inherit(v,{illegal:/\n/}),w={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},q.BACKSLASH_ESCAPE,y]},V={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},v]},A=q.inherit(V,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},y]});v.contains=[V,w,U,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,G,q.C_BLOCK_COMMENT_MODE],y.contains=[A,w,Y,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,G,q.inherit(q.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let f={variants:[F,V,w,U,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},S={begin:"<",end:">",contains:[{beginKeywords:"in out"},H]},O=q.IDENT_RE+"(<"+q.IDENT_RE+"(\\s*,\\s*"+q.IDENT_RE+")*>)?(\\[\\])?",B={begin:"@"+q.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:W,illegal:/::/,contains:[q.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},f,G,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},H,S,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[H,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[H,S,q.C_LINE_COMMENT_MODE,q.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:"("+O+"\\s+)+"+q.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:W,contains:[{beginKeywords:$.join(" "),relevance:0},{begin:q.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[q.TITLE_MODE,S],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:W,relevance:0,contains:[f,G,q.C_BLOCK_COMMENT_MODE]},q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},B]}}I8.exports=I1});var j8=Kq((pJ,x8)=>{var R1=(q)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:q.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:[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:q.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_-]*/}}},x1=["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","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],j1=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],D1=[...x1,...j1],u1=["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"].sort().reverse(),h1=["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"].sort().reverse(),m1=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),p1=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","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-end-end-radius","border-end-start-radius","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-start-end-radius","border-start-start-radius","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-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","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","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","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","margin-trim","marker","marker-end","marker-mid","marker-start","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","masonry-auto-flow","math-depth","math-shift","math-style","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","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-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","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","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","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function i1(q){let Z=q.regex,$=R1(q),J={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},Q="and or not only",X=/@-?\w[\w]*(-\w+)*/,W="[a-zA-Z-][a-zA-Z0-9_-]*",H=[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[$.BLOCK_COMMENT,J,$.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},$.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+h1.join("|")+")"},{begin:":(:)?("+m1.join("|")+")"}]},$.CSS_VARIABLE,{className:"attribute",begin:"\\b("+p1.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[$.BLOCK_COMMENT,$.HEXCOLOR,$.IMPORTANT,$.CSS_NUMBER_MODE,...H,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...H,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},$.FUNCTION_DISPATCH]},{begin:Z.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:X},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:u1.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...H,$.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+D1.join("|")+")\\b"}]}}x8.exports=i1});var u8=Kq((iJ,D8)=>{function E1(q){let Z=q.regex,$={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},J={begin:"^[-\\*]{3,}",end:"$"},Q={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}]},X={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},W={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},H=/[A-Za-z][A-Za-z0-9+.-]*/,G={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:Z.concat(/\[.+?\]\(/,H,/:\/\/.*?\)/),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}]},F={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},U={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},Y=q.inherit(F,{contains:[]}),v=q.inherit(U,{contains:[]});F.contains.push(v),U.contains.push(Y);let y=[$,G];return[F,U,Y,v].forEach((f)=>{f.contains=f.contains.concat(y)}),y=y.concat(F,U),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},$,X,F,U,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},Q,J,G,W,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}D8.exports=E1});var m8=Kq((EJ,h8)=>{function c1(q){let Z=q.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:Z.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:Z.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}h8.exports=c1});var i8=Kq((cJ,p8)=>{function a1(q){let Z=q.regex,$="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",J=Z.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),Q=Z.concat(J,/(::\w+)*/),W={"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"]},H={className:"doctag",begin:"@[A-Za-z]+"},G={begin:"#<",end:">"},F=[q.COMMENT("#","$",{contains:[H]}),q.COMMENT("^=begin","^=end",{contains:[H],relevance:10}),q.COMMENT("^__END__",q.MATCH_NOTHING_RE)],U={className:"subst",begin:/#\{/,end:/\}/,keywords:W},Y={className:"string",contains:[q.BACKSLASH_ESCAPE,U],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{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:Z.concat(/<<[-~]?'?/,Z.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[q.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[q.BACKSLASH_ESCAPE,U]})]}]},v="[1-9](_?[0-9])*|0",y="[0-9](_?[0-9])*",w={className:"number",relevance:0,variants:[{begin:"\\b([1-9](_?[0-9])*|0)(\\.([0-9](_?[0-9])*))?([eE][+-]?([0-9](_?[0-9])*)|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"}]},V={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:W}]},P=[Y,{variants:[{match:[/class\s+/,Q,/\s+<\s+/,Q]},{match:[/\b(class|module)\s+/,Q]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:W},{match:[/(include|extend)\s+/,Q],scope:{2:"title.class"},keywords:W},{relevance:0,match:[Q,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:J,scope:"title.class"},{match:[/def/,/\s+/,"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"],scope:{1:"keyword",3:"title.function"},contains:[V]},{begin:q.IDENT_RE+"::"},{className:"symbol",begin:q.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[Y,{begin:"([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)"}],relevance:0},w,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:W},{begin:"("+q.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[q.BACKSLASH_ESCAPE,U],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(G,F),relevance:0}].concat(G,F);U.contains=P,V.contains=P;let I="[>?]>",R="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",T="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",u=[{begin:/^\s*=>/,starts:{end:"$",contains:P}},{className:"meta.prompt",begin:"^("+I+"|"+R+"|"+T+")(?=[ ])",starts:{end:"$",keywords:W,contains:P}}];return F.unshift(G),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:W,illegal:/\/\*/,contains:[q.SHEBANG({binary:"ruby"})].concat(u).concat(F).concat(P)}}p8.exports=a1});var c8=Kq((aJ,E8)=>{function d1(q){let X={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:X,illegal:"</",contains:[q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,{className:"string",variants:[q.QUOTE_STRING_MODE,q.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[q.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:X,illegal:/["']/}]}]}}E8.exports=d1});var d8=Kq((dJ,a8)=>{function n1(q){let Z=q.regex,$=/[_A-Za-z][_0-9A-Za-z]*/;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:[q.HASH_COMMENT_MODE,q.QUOTE_STRING_MODE,q.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:Z.concat($,Z.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}a8.exports=n1});var r8=Kq((nJ,n8)=>{function r1(q){let Z=q.regex,$={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:q.NUMBER_RE}]},J=q.COMMENT();J.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let Q={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},X={className:"literal",begin:/\bon|off|true|false|yes|no\b/},W={className:"string",contains:[q.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},H={begin:/\[/,end:/\]/,contains:[J,X,Q,W,$,"self"],relevance:0},G=/[A-Za-z0-9_-]+/,F=/"(\\"|[^"])*"/,U=/'[^']*'/,Y=Z.either(G,F,U),v=Z.concat(Y,"(\\s*\\.\\s*",Y,")*",Z.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[J,{className:"section",begin:/\[+/,end:/\]+/},{begin:v,className:"attr",starts:{end:/$/,contains:[J,H,X,Q,W,$]}}]}}n8.exports=r1});var o8=Kq((rJ,s8)=>{var B0="[0-9](_*[0-9])*",s0=`\\.(${B0})`,o0="[0-9a-fA-F](_*[0-9a-fA-F])*",t8={className:"number",variants:[{begin:`(\\b(${B0})((${s0})|\\.)?|(${s0}))[eE][+-]?(${B0})[fFdD]?\\b`},{begin:`\\b(${B0})((${s0})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${s0})[fFdD]?\\b`},{begin:`\\b(${B0})[fFdD]\\b`},{begin:`\\b0[xX]((${o0})\\.?|(${o0})?\\.(${o0}))[pP][+-]?(${B0})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${o0})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function l8(q,Z,$){if($===-1)return"";return q.replace(Z,(J)=>{return l8(q,Z,$-1)})}function t1(q){let Z=q.regex,$="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",J="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+l8("(?:<"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~(?:\\s*,\\s*"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"+"~~~)*>)?",/~~~/g,2),G={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","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},F={className:"meta",begin:"@"+"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},U={className:"params",begin:/\(/,end:/\)/,keywords:G,relevance:0,contains:[q.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:G,illegal:/<\/|#/,contains:[q.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[q.BACKSLASH_ESCAPE]},q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[Z.concat(/(?!else)/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"),/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,"[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*"],className:{1:"keyword",3:"title.class"},contains:[U,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+J+"\\s+)",q.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:G,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:G,relevance:0,contains:[F,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,t8,q.C_BLOCK_COMMENT_MODE]},q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},t8,F]}}s8.exports=t1});var J4=Kq((tJ,$4)=>{var l1=["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","using"],s1=["true","false","null","undefined","NaN","Infinity"],e8=["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"],q4=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Z4=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o1=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],e1=[].concat(Z4,e8,q4);function q7(q){let Z=q.regex,$=(C,{after:b})=>{let r="</"+C[0].slice(1);return C.input.indexOf(r,b)!==-1},J="[A-Za-z$_][0-9A-Za-z$_]*",Q={begin:"<>",end:"</>"},X=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(C,b)=>{let r=C[0].length+C.index,s=C.input[r];if(s==="<"||s===","){b.ignoreMatch();return}if(s===">"){if(!$(C,{after:r}))b.ignoreMatch()}let $q,Fq=C.input.substring(r);if($q=Fq.match(/^\s*=/)){b.ignoreMatch();return}if($q=Fq.match(/^\s+extends\s+/)){if($q.index===0){b.ignoreMatch();return}}}},H={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:l1,literal:s1,built_in:e1,"variable.language":o1},G="[0-9](_?[0-9])*",F="\\.([0-9](_?[0-9])*)",U="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Y={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\b"},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:H,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},w={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"css"}},V={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[q.BACKSLASH_ESCAPE,v]},S={className:"comment",variants:[q.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),q.C_BLOCK_COMMENT_MODE,q.C_LINE_COMMENT_MODE]},O=[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,y,w,V,A,{match:/\$\d+/},Y];v.contains=O.concat({begin:/\{/,end:/\}/,keywords:H,contains:["self"].concat(O)});let B=[].concat(S,v.contains),N=B.concat([{begin:/(\s*)\(/,end:/\)/,keywords:H,contains:["self"].concat(B)}]),P={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:N},I={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,Z.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",Z.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},R={relevance:0,match:Z.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...e8,...q4]}},T={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},u={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[P],illegal:/%/},h={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function t(C){return Z.concat("(?!",C.join("|"),")")}let D={match:Z.concat(/\b/,t([...Z4,"super","import"].map((C)=>`${C}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",Z.lookahead(/\s*\(/)),className:"title.function",relevance:0},Qq={begin:Z.concat(/\./,Z.lookahead(Z.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Yq={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},P]},g="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+q.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,Z.lookahead(g)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[P]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:H,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:R},illegal:/#(?![$_A-z])/,contains:[q.SHEBANG({label:"shebang",binary:"node",relevance:5}),T,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,y,w,V,A,S,{match:/\$\d+/},Y,R,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+Z.lookahead(":"),relevance:0},M,{begin:"("+q.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,q.REGEXP_MODE,{className:"function",begin:g,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:q.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:Q.begin,end:Q.end},{match:X},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},u,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+q.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[P,q.inherit(q.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},Qq,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[P]},D,h,I,Yq,{match:/\$[(.]/}]}}$4.exports=q7});var Q4=Kq((lJ,z4)=>{function Z7(q){let Z={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},$={match:/[{}[\],:]/,className:"punctuation",relevance:0},J=["true","false","null"],Q={scope:"literal",beginKeywords:J.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:J},contains:[Z,$,q.QUOTE_STRING_MODE,Q,q.C_NUMBER_MODE,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}z4.exports=Z7});var W4=Kq((sJ,X4)=>{var P0="[0-9](_*[0-9])*",e0=`\\.(${P0})`,q9="[0-9a-fA-F](_*[0-9a-fA-F])*",$7={className:"number",variants:[{begin:`(\\b(${P0})((${e0})|\\.)?|(${e0}))[eE][+-]?(${P0})[fFdD]?\\b`},{begin:`\\b(${P0})((${e0})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${e0})[fFdD]?\\b`},{begin:`\\b(${P0})[fFdD]\\b`},{begin:`\\b0[xX]((${q9})\\.?|(${q9})?\\.(${q9}))[pP][+-]?(${P0})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${q9})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function J7(q){let Z={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"},$={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},J={className:"symbol",begin:q.UNDERSCORE_IDENT_RE+"@"},Q={className:"subst",begin:/\$\{/,end:/\}/,contains:[q.C_NUMBER_MODE]},X={className:"variable",begin:"\\$"+q.UNDERSCORE_IDENT_RE},W={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[X,Q]},{begin:"'",end:"'",illegal:/\n/,contains:[q.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[q.BACKSLASH_ESCAPE,X,Q]}]};Q.contains.push(W);let H={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+q.UNDERSCORE_IDENT_RE+")?"},G={className:"meta",begin:"@"+q.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[q.inherit(W,{className:"string"}),"self"]}]},F=$7,U=q.COMMENT("/\\*","\\*/",{contains:[q.C_BLOCK_COMMENT_MODE]}),Y={variants:[{className:"type",begin:q.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},v=Y;return v.variants[1].contains=[Y],Y.variants[1].contains=[v],{name:"Kotlin",aliases:["kt","kts"],keywords:Z,contains:[q.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),q.C_LINE_COMMENT_MODE,U,$,J,H,G,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:Z,relevance:5,contains:[{begin:q.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[q.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:Z,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[Y,q.C_LINE_COMMENT_MODE,U],relevance:0},q.C_LINE_COMMENT_MODE,U,H,G,W,q.C_NUMBER_MODE]},U]},{begin:[/class|interface|trait/,/\s+/,q.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},q.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},H,G]},W,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
4
|
+
`},F]}}X4.exports=J7});var K4=Kq((oJ,G4)=>{var z7=(q)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:q.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:[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:q.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_-]*/}}},Q7=["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","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],X7=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],W7=[...Q7,...X7],H7=["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"].sort().reverse(),H4=["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"].sort().reverse(),F4=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),F7=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","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-end-end-radius","border-end-start-radius","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-start-end-radius","border-start-start-radius","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-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","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","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","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","margin-trim","marker","marker-end","marker-mid","marker-start","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","masonry-auto-flow","math-depth","math-shift","math-style","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","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-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","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","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","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),G7=H4.concat(F4).sort().reverse();function K7(q){let Z=z7(q),$=G7,J="and or not only",Q="[\\w-]+",X="([\\w-]+|@\\{[\\w-]+\\})",W=[],H=[],G=function(O){return{className:"string",begin:"~?"+O+".*?"+O}},F=function(O,B,N){return{className:O,begin:B,relevance:N}},U={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:H7.join(" ")},Y={begin:"\\(",end:"\\)",contains:H,keywords:U,relevance:0};H.push(q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,G("'"),G('"'),Z.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},Z.HEXCOLOR,Y,F("variable","@@?[\\w-]+",10),F("variable","@\\{[\\w-]+\\}"),F("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},Z.IMPORTANT,{beginKeywords:"and not"},Z.FUNCTION_DISPATCH);let v=H.concat({begin:/\{/,end:/\}/,contains:W}),y={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(H)},w={begin:X+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},Z.CSS_VARIABLE,{className:"attribute",begin:"\\b("+F7.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:H}}]},V={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:U,returnEnd:!0,contains:H,relevance:0}},A={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:v}},f={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:X,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,y,F("keyword","all\\b"),F("variable","@\\{[\\w-]+\\}"),{begin:"\\b("+W7.join("|")+")\\b",className:"selector-tag"},Z.CSS_NUMBER_MODE,F("selector-tag",X,0),F("selector-id","#"+X),F("selector-class","\\."+X,0),F("selector-tag","&",0),Z.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+H4.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+F4.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:v},{begin:"!important"},Z.FUNCTION_DISPATCH]},S={begin:`[\\w-]+:(:)?(${$.join("|")})`,returnBegin:!0,contains:[f]};return W.push(q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,V,A,S,w,f,y,Z.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:W}}G4.exports=K7});var U4=Kq((eJ,Y4)=>{function Y7(q){let J={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},Q=[q.COMMENT("--(?!\\[=*\\[)","$"),q.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[J],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:q.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:Q.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[q.inherit(q.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:Q}].concat(Q)},q.C_NUMBER_MODE,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[J],relevance:5}])}}Y4.exports=Y7});var w4=Kq((qz,y4)=>{function U7(q){let Z={className:"variable",variants:[{begin:"\\$\\("+q.UNDERSCORE_IDENT_RE+"\\)",contains:[q.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},$={className:"string",begin:/"/,end:/"/,contains:[q.BACKSLASH_ESCAPE,Z]},J={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[Z,$]},Q={begin:"^"+q.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},X={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},W={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[Z]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[q.HASH_COMMENT_MODE,Z,$,J,Q,X,W]}}y4.exports=U7});var P4=Kq((Zz,B4)=>{function y7(q){let Z=q.regex,$=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","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","field","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","method","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"],J=/[dualxmsipngr]{0,12}/,Q={$pattern:/[\w.]+/,keyword:$.join(" ")},X={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:Q},W={begin:/->\{/,end:/\}/},H={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},G={scope:"variable",variants:[{begin:/\$\d/},{begin:Z.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[H]},F={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},U=[q.BACKSLASH_ESCAPE,X,G],Y=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],v=(V,A,f="\\1")=>{let S=f==="\\1"?f:Z.concat(f,A);return Z.concat(Z.concat("(?:",V,")"),A,/(?:\\.|[^\\\/])*?/,S,/(?:\\.|[^\\\/])*?/,f,J)},y=(V,A,f)=>{return Z.concat(Z.concat("(?:",V,")"),A,/(?:\\.|[^\\\/])*?/,f,J)},w=[G,q.HASH_COMMENT_MODE,q.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),W,{className:"string",contains:U,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:[q.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[q.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},F,{begin:"(\\/\\/|"+q.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[q.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:v("s|tr|y",Z.either(...Y,{capture:!0}))},{begin:v("s|tr|y","\\(","\\)")},{begin:v("s|tr|y","\\[","\\]")},{begin:v("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:y("(?:m|qr)?",/\//,/\//)},{begin:y("m|qr",Z.either(...Y,{capture:!0}),/\1/)},{begin:y("m|qr",/\(/,/\)/)},{begin:y("m|qr",/\[/,/\]/)},{begin:y("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[q.TITLE_MODE,H]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[q.TITLE_MODE,H,F]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return X.contains=w,W.contains=w,{name:"Perl",aliases:["pl","pm"],keywords:Q,contains:w}}B4.exports=y7});var v4=Kq(($z,L4)=>{function w7(q){let Z={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},$=/[a-zA-Z@][a-zA-Z0-9_]*/,H={"variable.language":["this","super"],$pattern:$,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"]},G={$pattern:$,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:H,illegal:"</",contains:[Z,q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,q.C_NUMBER_MODE,q.QUOTE_STRING_MODE,q.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[q.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},q.inherit(q.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+G.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:G,contains:[q.UNDERSCORE_TITLE_MODE]},{begin:"\\."+q.UNDERSCORE_IDENT_RE,relevance:0}]}}L4.exports=w7});var A4=Kq((Jz,C4)=>{function B7(q){let Z=q.regex,$=/(?![A-Za-z0-9])(?![$])/,J=Z.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,$),Q=Z.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,$),X=Z.concat(/[A-Z]+/,$),W={scope:"variable",match:"\\$+"+J},H={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:0.1},{begin:/\?>/}]},G={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},F=q.inherit(q.APOS_STRING_MODE,{illegal:null}),U=q.inherit(q.QUOTE_STRING_MODE,{illegal:null,contains:q.QUOTE_STRING_MODE.contains.concat(G)}),Y={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:q.QUOTE_STRING_MODE.contains.concat(G),"on:begin":(Qq,Yq)=>{Yq.data._beginMatch=Qq[1]||Qq[2]},"on:end":(Qq,Yq)=>{if(Yq.data._beginMatch!==Qq[1])Yq.ignoreMatch()}},v=q.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),y=`[
|
|
5
|
+
]`,w={scope:"string",variants:[U,F,Y,v]},V={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},A=["false","null","true"],f=["__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"],S=["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"],B={keyword:f,literal:((Qq)=>{let Yq=[];return Qq.forEach((g)=>{if(Yq.push(g),g.toLowerCase()===g)Yq.push(g.toUpperCase());else Yq.push(g.toLowerCase())}),Yq})(A),built_in:S},N=(Qq)=>{return Qq.map((Yq)=>{return Yq.replace(/\|\d+$/,"")})},P={variants:[{match:[/new/,Z.concat(`[
|
|
6
|
+
]`,"+"),Z.concat("(?!",N(S).join("\\b|"),"\\b)"),Q],scope:{1:"keyword",4:"title.class"}}]},I=Z.concat(J,"\\b(?!\\()"),R={variants:[{match:[Z.concat(/::/,Z.lookahead(/(?!class\b)/)),I],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[Q,Z.concat(/::/,Z.lookahead(/(?!class\b)/)),I],scope:{1:"title.class",3:"variable.constant"}},{match:[Q,Z.concat("::",Z.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[Q,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},T={scope:"attr",match:Z.concat(J,Z.lookahead(":"),Z.lookahead(/(?!::)/))},u={relevance:0,begin:/\(/,end:/\)/,keywords:B,contains:[T,W,R,q.C_BLOCK_COMMENT_MODE,w,V,P]},h={relevance:0,match:[/\b/,Z.concat("(?!fn\\b|function\\b|",N(f).join("\\b|"),"|",N(S).join("\\b|"),"\\b)"),J,Z.concat(`[
|
|
7
|
+
]`,"*"),Z.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[u]};u.contains.push(h);let t=[T,R,q.C_BLOCK_COMMENT_MODE,w,V,P],D={begin:Z.concat(/#\[\s*\\?/,Z.either(Q,X)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:A,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:A,keyword:["new","array"]},contains:["self",...t]},...t,{scope:"meta",variants:[{match:Q},{match:X}]}]};return{case_insensitive:!1,keywords:B,contains:[D,q.HASH_COMMENT_MODE,q.COMMENT("//","$"),q.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:q.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},H,{scope:"variable.language",match:/\$this\b/},W,h,R,{match:[/const/,/\s/,J],scope:{1:"keyword",3:"variable.constant"}},P,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},q.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:B,contains:["self",D,W,R,q.C_BLOCK_COMMENT_MODE,w,V]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},q.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[q.inherit(q.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},q.UNDERSCORE_TITLE_MODE]},w,V]}}C4.exports=B7});var V4=Kq((zz,O4)=>{function P7(q){return{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},q.inherit(q.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),q.inherit(q.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}O4.exports=P7});var _4=Kq((Qz,M4)=>{function L7(q){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}M4.exports=L7});var f4=Kq((Xz,N4)=>{function v7(q){let Z=q.regex,$=/[\p{XID_Start}_]\p{XID_Continue}*/u,J=["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"],H={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:J,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"]},G={className:"meta",begin:/^(>>>|\.\.\.) /},F={className:"subst",begin:/\{/,end:/\}/,keywords:H,illegal:/#/},U={begin:/\{\{/,relevance:0},Y={className:"string",contains:[q.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[q.BACKSLASH_ESCAPE,G],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[q.BACKSLASH_ESCAPE,G],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[q.BACKSLASH_ESCAPE,G,U,F]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[q.BACKSLASH_ESCAPE,G,U,F]},{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:[q.BACKSLASH_ESCAPE,U,F]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[q.BACKSLASH_ESCAPE,U,F]},q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},v="[0-9](_?[0-9])*",y="(\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.",w=`\\b|${J.join("|")}`,V={className:"number",relevance:0,variants:[{begin:`(\\b([0-9](_?[0-9])*)|((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.))[eE][+-]?([0-9](_?[0-9])*)[jJ]?(?=${w})`},{begin:"((\\b([0-9](_?[0-9])*))?\\.([0-9](_?[0-9])*)|\\b([0-9](_?[0-9])*)\\.)[jJ]?"},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${w})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${w})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${w})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${w})`},{begin:`\\b([0-9](_?[0-9])*)[jJ](?=${w})`}]},A={className:"comment",begin:Z.lookahead(/# type:/),end:/$/,keywords:H,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},f={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:["self",G,V,Y,q.HASH_COMMENT_MODE]}]};return F.contains=[Y,V,G],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:H,illegal:/(<\/|\?)|=>/,contains:[G,V,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},Y,A,q.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,$],scope:{1:"keyword",3:"title.function"},contains:[f]},{variants:[{match:[/\bclass/,/\s+/,$,/\s*/,/\(\s*/,$,/\s*\)/]},{match:[/\bclass/,/\s+/,$]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[V,f,Y]}]}}N4.exports=v7});var g4=Kq((Wz,k4)=>{function C7(q){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}k4.exports=C7});var S4=Kq((Hz,b4)=>{function A7(q){let Z=q.regex,$=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,J=Z.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]?/),Q=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,X=Z.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:$,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:[q.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:Z.lookahead(Z.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:$},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),q.HASH_COMMENT_MODE,{scope:"string",contains:[q.BACKSLASH_ESCAPE],variants:[q.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),q.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),q.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),q.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),q.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),q.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[Q,J]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,J]},{scope:{1:"punctuation",2:"number"},match:[X,J]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,J]}]},{scope:{3:"operator"},match:[$,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:Q},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:X},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}b4.exports=A7});var I4=Kq((Fz,T4)=>{function O7(q){let Z=q.regex,$=/(r#)?/,J=Z.concat($,q.UNDERSCORE_IDENT_RE),Q=Z.concat($,q.IDENT_RE),X={className:"title.function.invoke",relevance:0,begin:Z.concat(/\b/,/(?!let|for|while|if|else|match\b)/,Q,Z.lookahead(/\s*\(/))},W="([ui](8|16|32|64|128|size)|f(32|64))?",H=["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","union","unsafe","unsized","use","virtual","where","while","yield"],G=["true","false","Some","None","Ok","Err"],F=["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!","eprintln!","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!"],U=["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:q.IDENT_RE+"!?",type:U,keyword:H,literal:G,built_in:F},illegal:"</",contains:[q.C_LINE_COMMENT_MODE,q.COMMENT("/\\*","\\*/",{contains:["self"]}),q.inherit(q.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0o([0-7_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b0x([A-Fa-f0-9_]+)([ui](8|16|32|64|128|size)|f(32|64))?"},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([ui](8|16|32|64|128|size)|f(32|64))?"}],relevance:0},{begin:[/fn/,/\s+/,J],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[q.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,J],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,J,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,J],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,J],className:{1:"keyword",3:"title.class"}},{begin:q.IDENT_RE+"::",keywords:{keyword:"Self",built_in:F,type:U}},{className:"punctuation",begin:"->"},X]}}T4.exports=O7});var x4=Kq((Gz,R4)=>{var V7=(q)=>{return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:q.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:[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:q.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_-]*/}}},M7=["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","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],_7=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],N7=[...M7,..._7],f7=["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"].sort().reverse(),k7=["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"].sort().reverse(),g7=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),b7=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","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-end-end-radius","border-end-start-radius","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-start-end-radius","border-start-start-radius","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-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","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","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","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","margin-trim","marker","marker-end","marker-mid","marker-start","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","masonry-auto-flow","math-depth","math-shift","math-style","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","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-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","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","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","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function S7(q){let Z=V7(q),$=g7,J=k7,Q="@[a-z-]+",X="and or not only",W="[a-zA-Z-][a-zA-Z0-9_-]*",H={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[q.C_LINE_COMMENT_MODE,q.C_BLOCK_COMMENT_MODE,Z.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},Z.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+N7.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+J.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+$.join("|")+")"},H,{begin:/\(/,end:/\)/,contains:[Z.CSS_NUMBER_MODE]},Z.CSS_VARIABLE,{className:"attribute",begin:"\\b("+b7.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:[Z.BLOCK_COMMENT,H,Z.HEXCOLOR,Z.CSS_NUMBER_MODE,q.QUOTE_STRING_MODE,q.APOS_STRING_MODE,Z.IMPORTANT,Z.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:"@[a-z-]+",keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:f7.join(" ")},contains:[{begin:"@[a-z-]+",className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},H,q.QUOTE_STRING_MODE,q.APOS_STRING_MODE,Z.HEXCOLOR,Z.CSS_NUMBER_MODE]},Z.FUNCTION_DISPATCH]}}R4.exports=S7});var D4=Kq((Kz,j4)=>{function T7(q){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}j4.exports=T7});var h4=Kq((Yz,u4)=>{function I7(q){let Z=q.regex,$=q.COMMENT("--","$"),J={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},Q={begin:/"/,end:/"/,contains:[{match:/""/}]},X=["true","false","unknown"],W=["double precision","large object","with timezone","without timezone"],H=["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"],G=["add","asc","collation","desc","final","first","last","view"],F=["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"],U=["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"],Y=["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"],v=["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"],y=U,w=[...F,...G].filter((N)=>{return!U.includes(N)}),V={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},A={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},f={match:Z.concat(/\b/,Z.either(...y),/\s*\(/),relevance:0,keywords:{built_in:y}};function S(N){return Z.concat(/\b/,Z.either(...N.map((P)=>{return P.replace(/\s+/,"\\s+")})),/\b/)}let O={scope:"keyword",match:S(v),relevance:0};function B(N,{exceptions:P,when:I}={}){let R=I;return P=P||[],N.map((T)=>{if(T.match(/\|\d+$/)||P.includes(T))return T;else if(R(T))return`${T}|0`;else return T})}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:B(w,{when:(N)=>N.length<3}),literal:X,type:H,built_in:Y},contains:[{scope:"type",match:S(W)},O,f,V,J,Q,q.C_NUMBER_MODE,q.C_BLOCK_COMMENT_MODE,$,A]}}u4.exports=I7});var r4=Kq((Uz,n4)=>{function E4(q){if(!q)return null;if(typeof q==="string")return q;return q.source}function g0(q){return Lq("(?=",q,")")}function Lq(...q){return q.map(($)=>E4($)).join("")}function R7(q){let Z=q[q.length-1];if(typeof Z==="object"&&Z.constructor===Object)return q.splice(q.length-1,1),Z;else return{}}function xq(...q){return"("+(R7(q).capture?"":"?:")+q.map((J)=>E4(J)).join("|")+")"}var c9=(q)=>Lq(/\b/,q,/\w$/.test(q)?/\b/:/\B/),x7=["Protocol","Type"].map(c9),m4=["init","self"].map(c9),j7=["Any","Self"],i9=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","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","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","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"],p4=["false","nil","true"],D7=["assignment","associativity","higherThan","left","lowerThan","none","right"],u7=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],i4=["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"],c4=xq(/[/=\-+!*%<>&|^~?]/,/[\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]/),a4=xq(c4,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),E9=Lq(c4,a4,"*"),d4=xq(/[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]/),$9=xq(d4,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),cq=Lq(d4,$9,"*"),Z9=Lq(/[A-Z]/,$9,"*"),h7=["attached","autoclosure",Lq(/convention\(/,xq("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",Lq(/objc\(/,cq,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],m7=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function p7(q){let Z={match:/\s+/,relevance:0},$=q.COMMENT("/\\*","\\*/",{contains:["self"]}),J=[q.C_LINE_COMMENT_MODE,$],Q={match:[/\./,xq(...x7,...m4)],className:{2:"keyword"}},X={match:Lq(/\./,xq(...i9)),relevance:0},W=i9.filter((Gq)=>typeof Gq==="string").concat(["_|0"]),H=i9.filter((Gq)=>typeof Gq!=="string").concat(j7).map(c9),G={variants:[{className:"keyword",match:xq(...H,...m4)}]},F={$pattern:xq(/\b\w+/,/#\w+/),keyword:W.concat(u7),literal:p4},U=[Q,X,G],Y={match:Lq(/\./,xq(...i4)),relevance:0},v={className:"built_in",match:Lq(/\b/,xq(...i4),/(?=\()/)},y=[Y,v],w={match:/->/,relevance:0},V={className:"operator",relevance:0,variants:[{match:E9},{match:`\\.(\\.|${a4})+`}]},A=[w,V],f="([0-9]_*)+",S="([0-9a-fA-F]_*)+",O={className:"number",relevance:0,variants:[{match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{match:"\\b0x(([0-9a-fA-F]_*)+)(\\.(([0-9a-fA-F]_*)+))?([pP][+-]?(([0-9]_*)+))?\\b"},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},B=(Gq="")=>({className:"subst",variants:[{match:Lq(/\\/,Gq,/[0\\tnr"']/)},{match:Lq(/\\/,Gq,/u\{[0-9a-fA-F]{1,8}\}/)}]}),N=(Gq="")=>({className:"subst",match:Lq(/\\/,Gq,/[\t ]*(?:[\r\n]|\r\n)/)}),P=(Gq="")=>({className:"subst",label:"interpol",begin:Lq(/\\/,Gq,/\(/),end:/\)/}),I=(Gq="")=>({begin:Lq(Gq,/"""/),end:Lq(/"""/,Gq),contains:[B(Gq),N(Gq),P(Gq)]}),R=(Gq="")=>({begin:Lq(Gq,/"/),end:Lq(/"/,Gq),contains:[B(Gq),P(Gq)]}),T={className:"string",variants:[I(),I("#"),I("##"),I("###"),R(),R("#"),R("##"),R("###")]},u=[q.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[q.BACKSLASH_ESCAPE]}],h={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:u},t=(Gq)=>{let Eq=Lq(Gq,/\//),o=Lq(/\//,Gq);return{begin:Eq,end:o,contains:[...u,{scope:"comment",begin:`#(?!.*${o})`,end:/$/}]}},D={scope:"regexp",variants:[t("###"),t("##"),t("#"),h]},Qq={match:Lq(/`/,cq,/`/)},Yq={className:"variable",match:/\$\d+/},g={className:"variable",match:`\\$${$9}+`},M=[Qq,Yq,g],C={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:m7,contains:[...A,O,T]}]}},b={scope:"keyword",match:Lq(/@/,xq(...h7),g0(xq(/\(/,/\s+/)))},r={scope:"meta",match:Lq(/@/,cq)},s=[C,b,r],$q={match:g0(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:Lq(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,$9,"+")},{className:"type",match:Z9,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:Lq(/\s+&\s+/,g0(Z9)),relevance:0}]},Fq={begin:/</,end:/>/,keywords:F,contains:[...J,...U,...s,w,$q]};$q.contains.push(Fq);let vq={match:Lq(cq,/\s*:/),keywords:"_|0",relevance:0},Jq={begin:/\(/,end:/\)/,relevance:0,keywords:F,contains:["self",vq,...J,D,...U,...y,...A,O,T,...M,...s,$q]},_={begin:/</,end:/>/,keywords:"repeat each",contains:[...J,$q]},x={begin:xq(g0(Lq(cq,/\s*:/)),g0(Lq(cq,/\s+/,cq,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:cq}]},a={begin:/\(/,end:/\)/,keywords:F,contains:[x,...J,...U,...A,O,T,...s,$q,Jq],endsParent:!0,illegal:/["']/},d={match:[/(func|macro)/,/\s+/,xq(Qq.match,cq,E9)],className:{1:"keyword",3:"title.function"},contains:[_,a,Z],illegal:[/\[/,/%/]},zq={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[_,a,Z],illegal:/\[|%/},wq={match:[/operator/,/\s+/,E9],className:{1:"keyword",3:"title"}},l={begin:[/precedencegroup/,/\s+/,Z9],className:{1:"keyword",3:"title"},contains:[$q],keywords:[...D7,...p4],end:/}/},E={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},c={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},Cq={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,cq,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:F,contains:[_,...U,{begin:/:/,end:/\{/,keywords:F,contains:[{scope:"title.class.inherited",match:Z9},...U],relevance:0}]};for(let Gq of T.variants){let Eq=Gq.contains.find((aq)=>aq.label==="interpol");Eq.keywords=F;let o=[...U,...y,...A,O,T,...M];Eq.contains=[...o,{begin:/\(/,end:/\)/,contains:["self",...o]}]}return{name:"Swift",keywords:F,contains:[...J,d,zq,E,c,Cq,wq,l,{beginKeywords:"import",end:/$/,contains:[...J],relevance:0},D,...U,...y,...A,O,T,...M,...s,$q,Jq]}}n4.exports=p7});var l4=Kq((yz,t4)=>{function i7(q){let J={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},Q={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},X={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},W={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[q.BACKSLASH_ESCAPE,Q]},H=q.inherit(W,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),G="[0-9]{4}(-[0-9][0-9]){0,2}",F="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",U="(\\.[0-9]*)?",Y="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",v={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"},y={end:",",endsWithParent:!0,excludeEnd:!0,keywords:"true false yes no null",relevance:0},w={begin:/\{/,end:/\}/,contains:[y],illegal:"\\n",relevance:0},V={begin:"\\[",end:"\\]",contains:[y],illegal:"\\n",relevance:0},A=[J,{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+![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!<[\\w#;/?:@&=+$,.~*'()[\\]]+>"},{className:"type",begin:"![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"type",begin:"!![\\w#;/?:@&=+$,.~*'()[\\]]+"},{className:"meta",begin:"&"+q.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+q.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},q.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},v,{className:"number",begin:q.C_NUMBER_RE+"\\b",relevance:0},w,V,X,W],f=[...A];return f.pop(),f.push(H),y.contains=f,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:A}}t4.exports=i7});var Q5=Kq((wz,z5)=>{var s4=["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","using"],o4=["true","false","null","undefined","NaN","Infinity"],e4=["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"],q5=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Z5=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],$5=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],J5=[].concat(Z5,e4,q5);function E7(q){let Z=q.regex,$=(C,{after:b})=>{let r="</"+C[0].slice(1);return C.input.indexOf(r,b)!==-1},J="[A-Za-z$_][0-9A-Za-z$_]*",Q={begin:"<>",end:"</>"},X=/<[A-Za-z0-9\\._:-]+\s*\/>/,W={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(C,b)=>{let r=C[0].length+C.index,s=C.input[r];if(s==="<"||s===","){b.ignoreMatch();return}if(s===">"){if(!$(C,{after:r}))b.ignoreMatch()}let $q,Fq=C.input.substring(r);if($q=Fq.match(/^\s*=/)){b.ignoreMatch();return}if($q=Fq.match(/^\s+extends\s+/)){if($q.index===0){b.ignoreMatch();return}}}},H={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:s4,literal:o4,built_in:J5,"variable.language":$5},G="[0-9](_?[0-9])*",F="\\.([0-9](_?[0-9])*)",U="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",Y={className:"number",variants:[{begin:"(\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)((\\.([0-9](_?[0-9])*))|\\.)?|(\\.([0-9](_?[0-9])*)))[eE][+-]?([0-9](_?[0-9])*)\\b"},{begin:"\\b(0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*)\\b((\\.([0-9](_?[0-9])*))\\b|\\.)?|(\\.([0-9](_?[0-9])*))\\b"},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:H,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},w={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"css"}},V={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[q.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[q.BACKSLASH_ESCAPE,v]},S={className:"comment",variants:[q.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:"[A-Za-z$_][0-9A-Za-z$_]*(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),q.C_BLOCK_COMMENT_MODE,q.C_LINE_COMMENT_MODE]},O=[q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,y,w,V,A,{match:/\$\d+/},Y];v.contains=O.concat({begin:/\{/,end:/\}/,keywords:H,contains:["self"].concat(O)});let B=[].concat(S,v.contains),N=B.concat([{begin:/(\s*)\(/,end:/\)/,keywords:H,contains:["self"].concat(B)}]),P={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:N},I={variants:[{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s+/,/extends/,/\s+/,Z.concat("[A-Za-z$_][0-9A-Za-z$_]*","(",Z.concat(/\./,"[A-Za-z$_][0-9A-Za-z$_]*"),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*"],scope:{1:"keyword",3:"title.class"}}]},R={relevance:0,match:Z.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...e4,...q5]}},T={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},u={variants:[{match:[/function/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[P],illegal:/%/},h={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function t(C){return Z.concat("(?!",C.join("|"),")")}let D={match:Z.concat(/\b/,t([...Z5,"super","import"].map((C)=>`${C}\\s*\\(`)),"[A-Za-z$_][0-9A-Za-z$_]*",Z.lookahead(/\s*\(/)),className:"title.function",relevance:0},Qq={begin:Z.concat(/\./,Z.lookahead(Z.concat("[A-Za-z$_][0-9A-Za-z$_]*",/(?![0-9A-Za-z$_(])/))),end:"[A-Za-z$_][0-9A-Za-z$_]*",excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Yq={match:[/get|set/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},P]},g="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+q.UNDERSCORE_IDENT_RE+")\\s*=>",M={match:[/const|var|let/,/\s+/,"[A-Za-z$_][0-9A-Za-z$_]*",/\s*/,/=\s*/,/(async\s*)?/,Z.lookahead(g)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[P]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:H,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:R},illegal:/#(?![$_A-z])/,contains:[q.SHEBANG({label:"shebang",binary:"node",relevance:5}),T,q.APOS_STRING_MODE,q.QUOTE_STRING_MODE,y,w,V,A,S,{match:/\$\d+/},Y,R,{scope:"attr",match:"[A-Za-z$_][0-9A-Za-z$_]*"+Z.lookahead(":"),relevance:0},M,{begin:"("+q.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,q.REGEXP_MODE,{className:"function",begin:g,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:q.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:H,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:Q.begin,end:Q.end},{match:X},{begin:W.begin,"on:begin":W.isTrulyOpeningTag,end:W.end}],subLanguage:"xml",contains:[{begin:W.begin,end:W.end,skip:!0,contains:["self"]}]}]},u,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+q.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[P,q.inherit(q.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*",className:"title.function"})]},{match:/\.\.\./,relevance:0},Qq,{match:"\\$[A-Za-z$_][0-9A-Za-z$_]*",relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[P]},D,h,I,Yq,{match:/\$[(.]/}]}}function c7(q){let Z=q.regex,$=E7(q),J="[A-Za-z$_][0-9A-Za-z$_]*",Q=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],X={begin:[/namespace/,/\s+/,q.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},W={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:Q},contains:[$.exports.CLASS_REFERENCE]},H={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},G=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],F={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:s4.concat(G),literal:o4,built_in:J5.concat(Q),"variable.language":$5},U={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},Y=(V,A,f)=>{let S=V.contains.findIndex((O)=>O.label===A);if(S===-1)throw new Error("can not find mode to replace");V.contains.splice(S,1,f)};Object.assign($.keywords,F),$.exports.PARAMS_CONTAINS.push(U);let v=$.contains.find((V)=>V.scope==="attr"),y=Object.assign({},v,{match:Z.concat("[A-Za-z$_][0-9A-Za-z$_]*",Z.lookahead(/\s*\?:/))});$.exports.PARAMS_CONTAINS.push([$.exports.CLASS_REFERENCE,v,y]),$.contains=$.contains.concat([U,X,W,y]),Y($,"shebang",q.SHEBANG()),Y($,"use_strict",H);let w=$.contains.find((V)=>V.label==="func.def");return w.relevance=0,Object.assign($,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),$}z5.exports=c7});var W5=Kq((Bz,X5)=>{function a7(q){let Z=q.regex,$={className:"string",begin:/"(""|[^/n])"C\b/},J={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},Q=/\d{1,2}\/\d{1,2}\/\d{4}/,X=/\d{4}-\d{1,2}-\d{1,2}/,W=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,H=/\d{1,2}(:\d{1,2}){1,2}/,G={className:"literal",variants:[{begin:Z.concat(/# */,Z.either(X,Q),/ *#/)},{begin:Z.concat(/# */,H,/ *#/)},{begin:Z.concat(/# */,W,/ *#/)},{begin:Z.concat(/# */,Z.either(X,Q),/ +/,Z.either(W,H),/ *#/)}]},F={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])|[%&])?/}]},U={className:"label",begin:/^\w+:/},Y=q.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),v=q.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:[$,J,G,F,U,Y,v,{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:[v]}]}}X5.exports=a7});var F5=Kq((Pz,H5)=>{function d7(q){q.regex;let Z=q.COMMENT(/\(;/,/;\)/);Z.contains.push("self");let $=q.COMMENT(/;;/,/$/),J=["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"],Q={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},X={className:"variable",begin:/\$[\w_]+/},W={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},H={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/},G={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},F={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/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:J},contains:[$,Z,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},X,W,Q,q.QUOTE_STRING_MODE,G,F,H]}}H5.exports=d7});var K5=Kq((Lz,G5)=>{var Xq=M8();Xq.registerLanguage("xml",N8());Xq.registerLanguage("bash",k8());Xq.registerLanguage("c",b8());Xq.registerLanguage("cpp",T8());Xq.registerLanguage("csharp",R8());Xq.registerLanguage("css",j8());Xq.registerLanguage("markdown",u8());Xq.registerLanguage("diff",m8());Xq.registerLanguage("ruby",i8());Xq.registerLanguage("go",c8());Xq.registerLanguage("graphql",d8());Xq.registerLanguage("ini",r8());Xq.registerLanguage("java",o8());Xq.registerLanguage("javascript",J4());Xq.registerLanguage("json",Q4());Xq.registerLanguage("kotlin",W4());Xq.registerLanguage("less",K4());Xq.registerLanguage("lua",U4());Xq.registerLanguage("makefile",w4());Xq.registerLanguage("perl",P4());Xq.registerLanguage("objectivec",v4());Xq.registerLanguage("php",A4());Xq.registerLanguage("php-template",V4());Xq.registerLanguage("plaintext",_4());Xq.registerLanguage("python",f4());Xq.registerLanguage("python-repl",g4());Xq.registerLanguage("r",S4());Xq.registerLanguage("rust",I4());Xq.registerLanguage("scss",x4());Xq.registerLanguage("shell",D4());Xq.registerLanguage("sql",h4());Xq.registerLanguage("swift",r4());Xq.registerLanguage("yaml",l4());Xq.registerLanguage("typescript",Q5());Xq.registerLanguage("vbnet",W5());Xq.registerLanguage("wasm",F5());Xq.HighlightJS=Xq;Xq.default=Xq;G5.exports=Xq});var u0,Pq,yZ,n5,sq,GZ,wZ,BZ,y9,T0,A0,PZ,L9,w9,B9,r5,x0={},j0=[],t5=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h0=Array.isArray;function nq(q,Z){for(var $ in Z)q[$]=Z[$];return q}function v9(q){q&&q.parentNode&&q.parentNode.removeChild(q)}function l5(q,Z,$){var J,Q,X,W={};for(X in Z)X=="key"?J=Z[X]:X=="ref"?Q=Z[X]:W[X]=Z[X];if(arguments.length>2&&(W.children=arguments.length>3?u0.call(arguments,2):$),typeof q=="function"&&q.defaultProps!=null)for(X in q.defaultProps)W[X]===void 0&&(W[X]=q.defaultProps[X]);return I0(q,W,J,Q,null)}function I0(q,Z,$,J,Q){var X={type:q,props:Z,key:$,ref:J,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:Q==null?++yZ:Q,__i:-1,__u:0};return Q==null&&Pq.vnode!=null&&Pq.vnode(X),X}function qq(q){return q.children}function R0(q,Z){this.props=q,this.context=Z}function H0(q,Z){if(Z==null)return q.__?H0(q.__,q.__i+1):null;for(var $;Z<q.__k.length;Z++)if(($=q.__k[Z])!=null&&$.__e!=null)return $.__e;return typeof q.type=="function"?H0(q):null}function s5(q){if(q.__P&&q.__d){var Z=q.__v,$=Z.__e,J=[],Q=[],X=nq({},Z);X.__v=Z.__v+1,Pq.vnode&&Pq.vnode(X),C9(q.__P,X,Z,q.__n,q.__P.namespaceURI,32&Z.__u?[$]:null,J,$==null?H0(Z):$,!!(32&Z.__u),Q),X.__v=Z.__v,X.__.__k[X.__i]=X,AZ(J,X,Q),Z.__e=Z.__=null,X.__e!=$&&LZ(X)}}function LZ(q){if((q=q.__)!=null&&q.__c!=null)return q.__e=q.__c.base=null,q.__k.some(function(Z){if(Z!=null&&Z.__e!=null)return q.__e=q.__c.base=Z.__e}),LZ(q)}function KZ(q){(!q.__d&&(q.__d=!0)&&sq.push(q)&&!D0.__r++||GZ!=Pq.debounceRendering)&&((GZ=Pq.debounceRendering)||wZ)(D0)}function D0(){try{for(var q,Z=1;sq.length;)sq.length>Z&&sq.sort(BZ),q=sq.shift(),Z=sq.length,s5(q)}finally{sq.length=D0.__r=0}}function vZ(q,Z,$,J,Q,X,W,H,G,F,U){var Y,v,y,w,V,A,f,S=J&&J.__k||j0,O=Z.length;for(G=o5($,Z,S,G,O),Y=0;Y<O;Y++)(y=$.__k[Y])!=null&&(v=y.__i!=-1&&S[y.__i]||x0,y.__i=Y,A=C9(q,y,v,Q,X,W,H,G,F,U),w=y.__e,y.ref&&v.ref!=y.ref&&(v.ref&&A9(v.ref,null,y),U.push(y.ref,y.__c||w,y)),V==null&&w!=null&&(V=w),(f=!!(4&y.__u))||v.__k===y.__k?(G=CZ(y,G,q,f),f&&v.__e&&(v.__e=null)):typeof y.type=="function"&&A!==void 0?G=A:w&&(G=w.nextSibling),y.__u&=-7);return $.__e=V,G}function o5(q,Z,$,J,Q){var X,W,H,G,F,U=$.length,Y=U,v=0;for(q.__k=new Array(Q),X=0;X<Q;X++)(W=Z[X])!=null&&typeof W!="boolean"&&typeof W!="function"?(typeof W=="string"||typeof W=="number"||typeof W=="bigint"||W.constructor==String?W=q.__k[X]=I0(null,W,null,null,null):h0(W)?W=q.__k[X]=I0(qq,{children:W},null,null,null):W.constructor===void 0&&W.__b>0?W=q.__k[X]=I0(W.type,W.props,W.key,W.ref?W.ref:null,W.__v):q.__k[X]=W,G=X+v,W.__=q,W.__b=q.__b+1,H=null,(F=W.__i=e5(W,$,G,Y))!=-1&&(Y--,(H=$[F])&&(H.__u|=2)),H==null||H.__v==null?(F==-1&&(Q>U?v--:Q<U&&v++),typeof W.type!="function"&&(W.__u|=4)):F!=G&&(F==G-1?v--:F==G+1?v++:(F>G?v--:v++,W.__u|=4))):q.__k[X]=null;if(Y)for(X=0;X<U;X++)(H=$[X])!=null&&(2&H.__u)==0&&(H.__e==J&&(J=H0(H)),VZ(H,H));return J}function CZ(q,Z,$,J){var Q,X;if(typeof q.type=="function"){for(Q=q.__k,X=0;Q&&X<Q.length;X++)Q[X]&&(Q[X].__=q,Z=CZ(Q[X],Z,$,J));return Z}q.__e!=Z&&(J&&(Z&&q.type&&!Z.parentNode&&(Z=H0(q)),$.insertBefore(q.__e,Z||null)),Z=q.__e);do Z=Z&&Z.nextSibling;while(Z!=null&&Z.nodeType==8);return Z}function e5(q,Z,$,J){var Q,X,W,H=q.key,G=q.type,F=Z[$],U=F!=null&&(2&F.__u)==0;if(F===null&&H==null||U&&H==F.key&&G==F.type)return $;if(J>(U?1:0)){for(Q=$-1,X=$+1;Q>=0||X<Z.length;)if((F=Z[W=Q>=0?Q--:X++])!=null&&(2&F.__u)==0&&H==F.key&&G==F.type)return W}return-1}function YZ(q,Z,$){Z[0]=="-"?q.setProperty(Z,$==null?"":$):q[Z]=$==null?"":typeof $!="number"||t5.test(Z)?$:$+"px"}function S0(q,Z,$,J,Q){var X,W;q:if(Z=="style")if(typeof $=="string")q.style.cssText=$;else{if(typeof J=="string"&&(q.style.cssText=J=""),J)for(Z in J)$&&Z in $||YZ(q.style,Z,"");if($)for(Z in $)J&&$[Z]==J[Z]||YZ(q.style,Z,$[Z])}else if(Z[0]=="o"&&Z[1]=="n")X=Z!=(Z=Z.replace(PZ,"$1")),W=Z.toLowerCase(),Z=W in q||Z=="onFocusOut"||Z=="onFocusIn"?W.slice(2):Z.slice(2),q.l||(q.l={}),q.l[Z+X]=$,$?J?$[A0]=J[A0]:($[A0]=L9,q.addEventListener(Z,X?B9:w9,X)):q.removeEventListener(Z,X?B9:w9,X);else{if(Q=="http://www.w3.org/2000/svg")Z=Z.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(Z!="width"&&Z!="height"&&Z!="href"&&Z!="list"&&Z!="form"&&Z!="tabIndex"&&Z!="download"&&Z!="rowSpan"&&Z!="colSpan"&&Z!="role"&&Z!="popover"&&Z in q)try{q[Z]=$==null?"":$;break q}catch(H){}typeof $=="function"||($==null||$===!1&&Z[4]!="-"?q.removeAttribute(Z):q.setAttribute(Z,Z=="popover"&&$==1?"":$))}}function UZ(q){return function(Z){if(this.l){var $=this.l[Z.type+q];if(Z[T0]==null)Z[T0]=L9++;else if(Z[T0]<$[A0])return;return $(Pq.event?Pq.event(Z):Z)}}}function C9(q,Z,$,J,Q,X,W,H,G,F){var U,Y,v,y,w,V,A,f,S,O,B,N,P,I,R,T=Z.type;if(Z.constructor!==void 0)return null;128&$.__u&&(G=!!(32&$.__u),X=[H=Z.__e=$.__e]),(U=Pq.__b)&&U(Z);q:if(typeof T=="function")try{if(f=Z.props,S=T.prototype&&T.prototype.render,O=(U=T.contextType)&&J[U.__c],B=U?O?O.props.value:U.__:J,$.__c?A=(Y=Z.__c=$.__c).__=Y.__E:(S?Z.__c=Y=new T(f,B):(Z.__c=Y=new R0(f,B),Y.constructor=T,Y.render=Z6),O&&O.sub(Y),Y.state||(Y.state={}),Y.__n=J,v=Y.__d=!0,Y.__h=[],Y._sb=[]),S&&Y.__s==null&&(Y.__s=Y.state),S&&T.getDerivedStateFromProps!=null&&(Y.__s==Y.state&&(Y.__s=nq({},Y.__s)),nq(Y.__s,T.getDerivedStateFromProps(f,Y.__s))),y=Y.props,w=Y.state,Y.__v=Z,v)S&&T.getDerivedStateFromProps==null&&Y.componentWillMount!=null&&Y.componentWillMount(),S&&Y.componentDidMount!=null&&Y.__h.push(Y.componentDidMount);else{if(S&&T.getDerivedStateFromProps==null&&f!==y&&Y.componentWillReceiveProps!=null&&Y.componentWillReceiveProps(f,B),Z.__v==$.__v||!Y.__e&&Y.shouldComponentUpdate!=null&&Y.shouldComponentUpdate(f,Y.__s,B)===!1){Z.__v!=$.__v&&(Y.props=f,Y.state=Y.__s,Y.__d=!1),Z.__e=$.__e,Z.__k=$.__k,Z.__k.some(function(u){u&&(u.__=Z)}),j0.push.apply(Y.__h,Y._sb),Y._sb=[],Y.__h.length&&W.push(Y);break q}Y.componentWillUpdate!=null&&Y.componentWillUpdate(f,Y.__s,B),S&&Y.componentDidUpdate!=null&&Y.__h.push(function(){Y.componentDidUpdate(y,w,V)})}if(Y.context=B,Y.props=f,Y.__P=q,Y.__e=!1,N=Pq.__r,P=0,S)Y.state=Y.__s,Y.__d=!1,N&&N(Z),U=Y.render(Y.props,Y.state,Y.context),j0.push.apply(Y.__h,Y._sb),Y._sb=[];else do Y.__d=!1,N&&N(Z),U=Y.render(Y.props,Y.state,Y.context),Y.state=Y.__s;while(Y.__d&&++P<25);Y.state=Y.__s,Y.getChildContext!=null&&(J=nq(nq({},J),Y.getChildContext())),S&&!v&&Y.getSnapshotBeforeUpdate!=null&&(V=Y.getSnapshotBeforeUpdate(y,w)),I=U!=null&&U.type===qq&&U.key==null?OZ(U.props.children):U,H=vZ(q,h0(I)?I:[I],Z,$,J,Q,X,W,H,G,F),Y.base=Z.__e,Z.__u&=-161,Y.__h.length&&W.push(Y),A&&(Y.__E=Y.__=null)}catch(u){if(Z.__v=null,G||X!=null)if(u.then){for(Z.__u|=G?160:128;H&&H.nodeType==8&&H.nextSibling;)H=H.nextSibling;X[X.indexOf(H)]=null,Z.__e=H}else{for(R=X.length;R--;)v9(X[R]);P9(Z)}else Z.__e=$.__e,Z.__k=$.__k,u.then||P9(Z);Pq.__e(u,Z,$)}else X==null&&Z.__v==$.__v?(Z.__k=$.__k,Z.__e=$.__e):H=Z.__e=q6($.__e,Z,$,J,Q,X,W,G,F);return(U=Pq.diffed)&&U(Z),128&Z.__u?void 0:H}function P9(q){q&&(q.__c&&(q.__c.__e=!0),q.__k&&q.__k.some(P9))}function AZ(q,Z,$){for(var J=0;J<$.length;J++)A9($[J],$[++J],$[++J]);Pq.__c&&Pq.__c(Z,q),q.some(function(Q){try{q=Q.__h,Q.__h=[],q.some(function(X){X.call(Q)})}catch(X){Pq.__e(X,Q.__v)}})}function OZ(q){return typeof q!="object"||q==null||q.__b>0?q:h0(q)?q.map(OZ):q.constructor!==void 0?null:nq({},q)}function q6(q,Z,$,J,Q,X,W,H,G){var F,U,Y,v,y,w,V,A=$.props||x0,f=Z.props,S=Z.type;if(S=="svg"?Q="http://www.w3.org/2000/svg":S=="math"?Q="http://www.w3.org/1998/Math/MathML":Q||(Q="http://www.w3.org/1999/xhtml"),X!=null){for(F=0;F<X.length;F++)if((y=X[F])&&"setAttribute"in y==!!S&&(S?y.localName==S:y.nodeType==3)){q=y,X[F]=null;break}}if(q==null){if(S==null)return document.createTextNode(f);q=document.createElementNS(Q,S,f.is&&f),H&&(Pq.__m&&Pq.__m(Z,X),H=!1),X=null}if(S==null)A===f||H&&q.data==f||(q.data=f);else{if(X=S=="textarea"&&f.defaultValue!=null?null:X&&u0.call(q.childNodes),!H&&X!=null)for(A={},F=0;F<q.attributes.length;F++)A[(y=q.attributes[F]).name]=y.value;for(F in A)y=A[F],F=="dangerouslySetInnerHTML"?Y=y:F=="children"||(F in f)||F=="value"&&("defaultValue"in f)||F=="checked"&&("defaultChecked"in f)||S0(q,F,null,y,Q);for(F in f)y=f[F],F=="children"?v=y:F=="dangerouslySetInnerHTML"?U=y:F=="value"?w=y:F=="checked"?V=y:H&&typeof y!="function"||A[F]===y||S0(q,F,y,A[F],Q);if(U)H||Y&&(U.__html==Y.__html||U.__html==q.innerHTML)||(q.innerHTML=U.__html),Z.__k=[];else if(Y&&(q.innerHTML=""),vZ(Z.type=="template"?q.content:q,h0(v)?v:[v],Z,$,J,S=="foreignObject"?"http://www.w3.org/1999/xhtml":Q,X,W,X?X[0]:$.__k&&H0($,0),H,G),X!=null)for(F=X.length;F--;)v9(X[F]);H&&S!="textarea"||(F="value",S=="progress"&&w==null?q.removeAttribute("value"):w!=null&&(w!==q[F]||S=="progress"&&!w||S=="option"&&w!=A[F])&&S0(q,F,w,A[F],Q),F="checked",V!=null&&V!=q[F]&&S0(q,F,V,A[F],Q))}return q}function A9(q,Z,$){try{if(typeof q=="function"){var J=typeof q.__u=="function";J&&q.__u(),J&&Z==null||(q.__u=q(Z))}else q.current=Z}catch(Q){Pq.__e(Q,$)}}function VZ(q,Z,$){var J,Q;if(Pq.unmount&&Pq.unmount(q),(J=q.ref)&&(J.current&&J.current!=q.__e||A9(J,null,Z)),(J=q.__c)!=null){if(J.componentWillUnmount)try{J.componentWillUnmount()}catch(X){Pq.__e(X,Z)}J.base=J.__P=null}if(J=q.__k)for(Q=0;Q<J.length;Q++)J[Q]&&VZ(J[Q],Z,$||typeof q.type!="function");$||v9(q.__e),q.__c=q.__=q.__e=void 0}function Z6(q,Z,$){return this.constructor(q,$)}function MZ(q,Z,$){var J,Q,X,W;Z==document&&(Z=document.documentElement),Pq.__&&Pq.__(q,Z),Q=(J=typeof $=="function")?null:$&&$.__k||Z.__k,X=[],W=[],C9(Z,q=(!J&&$||Z).__k=l5(qq,null,[q]),Q||x0,x0,Z.namespaceURI,!J&&$?[$]:Q?null:Z.firstChild?u0.call(Z.childNodes):null,X,!J&&$?$:Q?Q.__e:Z.firstChild,J,W),AZ(X,q,W)}u0=j0.slice,Pq={__e:function(q,Z,$,J){for(var Q,X,W;Z=Z.__;)if((Q=Z.__c)&&!Q.__)try{if((X=Q.constructor)&&X.getDerivedStateFromError!=null&&(Q.setState(X.getDerivedStateFromError(q)),W=Q.__d),Q.componentDidCatch!=null&&(Q.componentDidCatch(q,J||{}),W=Q.__d),W)return Q.__E=Q}catch(H){q=H}throw q}},yZ=0,n5=function(q){return q!=null&&q.constructor===void 0},R0.prototype.setState=function(q,Z){var $;$=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=nq({},this.state),typeof q=="function"&&(q=q(nq({},$),this.props)),q&&nq($,q),q!=null&&this.__v&&(Z&&this._sb.push(Z),KZ(this))},R0.prototype.forceUpdate=function(q){this.__v&&(this.__e=!0,q&&this.__h.push(q),KZ(this))},R0.prototype.render=qq,sq=[],wZ=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,BZ=function(q,Z){return q.__v.__b-Z.__v.__b},D0.__r=0,y9=Math.random().toString(8),T0="__d"+y9,A0="__a"+y9,PZ=/(PointerCapture)$|Capture$/i,L9=0,w9=UZ(!1),B9=UZ(!0),r5=0;var F0,Oq,O9,_Z,O0=0,IZ=[],Mq=Pq,NZ=Mq.__b,fZ=Mq.__r,kZ=Mq.diffed,gZ=Mq.__c,bZ=Mq.unmount,SZ=Mq.__;function p0(q,Z){Mq.__h&&Mq.__h(Oq,q,O0||Z),O0=0;var $=Oq.__H||(Oq.__H={__:[],__h:[]});return q>=$.__.length&&$.__.push({}),$.__[q]}function e(q){return O0=1,$6(jZ,q)}function $6(q,Z,$){var J=p0(F0++,2);if(J.t=q,!J.__c&&(J.__=[$?$(Z):jZ(void 0,Z),function(H){var G=J.__N?J.__N[0]:J.__[0],F=J.t(G,H);G!==F&&(J.__N=[F,J.__[1]],J.__c.setState({}))}],J.__c=Oq,!Oq.__f)){var Q=function(H,G,F){if(!J.__c.__H)return!0;var U=J.__c.__H.__.filter(function(v){return v.__c});if(U.every(function(v){return!v.__N}))return!X||X.call(this,H,G,F);var Y=J.__c.props!==H;return U.some(function(v){if(v.__N){var y=v.__[0];v.__=v.__N,v.__N=void 0,y!==v.__[0]&&(Y=!0)}}),X&&X.call(this,H,G,F)||Y};Oq.__f=!0;var{shouldComponentUpdate:X,componentWillUpdate:W}=Oq;Oq.componentWillUpdate=function(H,G,F){if(this.__e){var U=X;X=void 0,Q(H,G,F),X=U}W&&W.call(this,H,G,F)},Oq.shouldComponentUpdate=Q}return J.__N||J.__}function gq(q,Z){var $=p0(F0++,3);!Mq.__s&&M9($.__H,Z)&&($.__=q,$.u=Z,Oq.__H.__h.push($))}function RZ(q,Z){var $=p0(F0++,4);!Mq.__s&&M9($.__H,Z)&&($.__=q,$.u=Z,Oq.__h.push($))}function yq(q){return O0=5,xZ(function(){return{current:q}},[])}function xZ(q,Z){var $=p0(F0++,7);return M9($.__H,Z)&&($.__=q(),$.__H=Z,$.__h=q),$.__}function i0(q,Z){return O0=8,xZ(function(){return q},Z)}function J6(){for(var q;q=IZ.shift();){var Z=q.__H;if(q.__P&&Z)try{Z.__h.some(m0),Z.__h.some(V9),Z.__h=[]}catch($){Z.__h=[],Mq.__e($,q.__v)}}}Mq.__b=function(q){Oq=null,NZ&&NZ(q)},Mq.__=function(q,Z){q&&Z.__k&&Z.__k.__m&&(q.__m=Z.__k.__m),SZ&&SZ(q,Z)},Mq.__r=function(q){fZ&&fZ(q),F0=0;var Z=(Oq=q.__c).__H;Z&&(O9===Oq?(Z.__h=[],Oq.__h=[],Z.__.some(function($){$.__N&&($.__=$.__N),$.u=$.__N=void 0})):(Z.__h.some(m0),Z.__h.some(V9),Z.__h=[],F0=0)),O9=Oq},Mq.diffed=function(q){kZ&&kZ(q);var Z=q.__c;Z&&Z.__H&&(Z.__H.__h.length&&(IZ.push(Z)!==1&&_Z===Mq.requestAnimationFrame||((_Z=Mq.requestAnimationFrame)||z6)(J6)),Z.__H.__.some(function($){$.u&&($.__H=$.u),$.u=void 0})),O9=Oq=null},Mq.__c=function(q,Z){Z.some(function($){try{$.__h.some(m0),$.__h=$.__h.filter(function(J){return!J.__||V9(J)})}catch(J){Z.some(function(Q){Q.__h&&(Q.__h=[])}),Z=[],Mq.__e(J,$.__v)}}),gZ&&gZ(q,Z)},Mq.unmount=function(q){bZ&&bZ(q);var Z,$=q.__c;$&&$.__H&&($.__H.__.some(function(J){try{m0(J)}catch(Q){Z=Q}}),$.__H=void 0,Z&&Mq.__e(Z,$.__v))};var TZ=typeof requestAnimationFrame=="function";function z6(q){var Z,$=function(){clearTimeout(J),TZ&&cancelAnimationFrame(Z),setTimeout(q)},J=setTimeout($,35);TZ&&(Z=requestAnimationFrame($))}function m0(q){var Z=Oq,$=q.__c;typeof $=="function"&&(q.__c=void 0,$()),Oq=Z}function V9(q){var Z=Oq;q.__c=q.__(),Oq=Z}function M9(q,Z){return!q||q.length!==Z.length||Z.some(function($,J){return $!==q[J]})}function jZ(q,Z){return typeof Z=="function"?Z(q):Z}async function _q(q,Z,$){let J=await fetch(Z,{method:q,headers:$!==void 0?{"content-type":"application/json"}:void 0,body:$!==void 0?JSON.stringify($):void 0}),Q=await J.json().catch(()=>null);if(!J.ok||Q&&Q.error)throw new Error(Q&&Q.error||`${J.status} ${J.statusText}`);return Q}var Iq=(q)=>encodeURIComponent(q),Hq={listDatabases:()=>_q("GET","/api/databases"),createDatabase:(q)=>_q("POST","/api/databases",q),updateDatabase:(q,Z)=>_q("PATCH",`/api/database?id=${Iq(q)}`,Z),deleteDatabase:(q)=>_q("DELETE",`/api/database?id=${Iq(q)}`),listProperties:(q)=>_q("GET",`/api/properties?db=${Iq(q)}`),createProperty:(q)=>_q("POST","/api/properties",q),updateProperty:(q,Z)=>_q("PATCH",`/api/property?id=${Iq(q)}`,Z),setColumnWidth:(q,Z)=>_q("PATCH",`/api/property/width?id=${Iq(q)}`,{width:Z}),deleteProperty:(q)=>_q("DELETE",`/api/property?id=${Iq(q)}`),listRecords:(q,Z={})=>{let $=new URLSearchParams({db:q});if(Z.sort)$.set("sort",Z.sort);if(Z.limit!=null)$.set("limit",String(Z.limit));return _q("GET",`/api/records?${$}`)},createRecord:(q,Z)=>_q("POST",`/api/records?db=${Iq(q)}`,Z),getRecord:(q)=>_q("GET",`/api/record?id=${Iq(q)}`),updateRecord:(q,Z)=>_q("PATCH",`/api/record?id=${Iq(q)}`,Z),moveRecord:(q,Z,$)=>_q("PATCH",`/api/record/order?id=${Iq(q)}`,{target:Z,where:$}),deleteRecord:(q)=>_q("DELETE",`/api/record?id=${Iq(q)}`),listDocuments:(q)=>_q("GET",q?`/api/documents?db=${Iq(q)}`:"/api/documents"),createDocument:(q)=>_q("POST","/api/documents",q),getDocument:(q)=>_q("GET",`/api/document?id=${Iq(q)}`),updateDocument:(q,Z)=>_q("PATCH",`/api/document?id=${Iq(q)}`,Z),deleteDocument:(q)=>_q("DELETE",`/api/document?id=${Iq(q)}`),search:(q,Z)=>{let $=new URLSearchParams({q});if(Z!=null)$.set("limit",String(Z));return _q("GET",`/api/search?${$}`)}},G0={text:{ic:"text",t:"文本"},number:{ic:"hash",t:"数字"},select:{ic:"select",t:"单选"},multi_select:{ic:"multi",t:"多选"},checkbox:{ic:"checkbox",t:"复选框"},date:{ic:"calendar",t:"日期"},url:{ic:"link",t:"链接"},relation:{ic:"relation",t:"关联"}};var Q6=0;function z(q,Z,$,J,Q,X){Z||(Z={});var W,H,G=Z;if("ref"in G)for(H in G={},Z)H=="ref"?W=Z[H]:G[H]=Z[H];var F={type:q,props:G,key:$,ref:W,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Q6,__i:-1,__u:0,__source:Q,__self:X};if(typeof q=="function"&&(W=q.defaultProps))for(H in W)G[H]===void 0&&(G[H]=W[H]);return Pq.vnode&&Pq.vnode(F),F}var X6={cube:'<path d="M21 7.5 12 2 3 7.5v9L12 22l9-5.5z"/><path d="m3 7.5 9 5.5 9-5.5M12 22v-9"/>',chevron:'<path d="m9 6 6 6-6 6"/>',chevronDown:'<path d="m6 9 6 6 6-6"/>',plus:'<path d="M12 5v14M5 12h14"/>',search:'<circle cx="11" cy="11" r="7"/><path d="m20 20-3.2-3.2"/>',dots:'<circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/>',grip:'<circle cx="9" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="6" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="1.3" fill="currentColor" stroke="none"/><circle cx="15" cy="18" r="1.3" fill="currentColor" stroke="none"/>',trash:'<path d="M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13M10 11v6M14 11v6"/>',filter:'<path d="M3 5h18l-7 8v6l-4-2v-4z"/>',sort:'<path d="M7 3v14M7 17l-3-3M7 17l3-3M17 21V7M17 7l-3 3M17 7l3 3"/>',group:'<rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/>',check:'<path d="M5 12.5 10 17l9-10"/>',x:'<path d="M6 6 18 18M18 6 6 18"/>',file:'<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5"/>',database:'<ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v14c0 1.66 3.58 3 8 3s8-1.34 8-3V5"/><path d="M4 12c0 1.66 3.58 3 8 3s8-1.34 8-3"/>',table:'<rect x="3" y="4" width="18" height="16" rx="1.5"/><path d="M3 10h18M3 15h18M9 4v16M15 4v16"/>',alignLeft:'<path d="M4 6h16M4 12h10M4 18h13"/>',alignCenter:'<path d="M4 6h16M7 12h10M5 18h14"/>',alignRight:'<path d="M4 6h16M10 12h10M7 18h13"/>',share:'<path d="M4 12v7a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-7"/><path d="M12 3v13M8 7l4-4 4 4"/>',download:'<path d="M12 3v12M8 11l4 4 4-4"/><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/>',copy:'<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>',link:'<path d="M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1"/><path d="M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1"/>',calendar:'<rect x="3" y="4" width="18" height="17" rx="2"/><path d="M3 9h18M8 2v4M16 2v4"/>',timeline:'<rect x="3" y="5" width="9" height="3" rx="1.5"/><rect x="8" y="10.5" width="11" height="3" rx="1.5"/><rect x="5" y="16" width="7" height="3" rx="1.5"/>',hash:'<path d="M4 9h16M4 15h16M10 3 8 21M16 3l-2 18"/>',text:'<path d="M4 6h16M4 6v-.5M8 6v13M4 19h8"/><path d="M14 11h6M17 11v8M14 19h6"/>',list:'<path d="M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01"/>',numList:'<path d="M10 6h10M10 12h10M10 18h10M4 5h1v4M4 9h2M4 13.5c0-.8 2-.8 2 0 0 .8-2 1.2-2 2.5h2"/>',checkbox:'<rect x="4" y="4" width="16" height="16" rx="3"/><path d="m9 12 2 2 4-4"/>',select:'<circle cx="12" cy="12" r="8"/><circle cx="12" cy="12" r="3" fill="currentColor" stroke="none"/>',multi:'<path d="M8 6h12M8 12h12M8 18h12M3 6h.01M3 12h.01M3 18h.01"/>',relation:'<path d="M7 7h4v4H7zM13 13h4v4h-4z"/><path d="M11 9h2a2 2 0 0 1 2 2v2"/>',quote:'<path d="M7 7c-2 1-3 3-3 6h3v4H4v-4M17 7c-2 1-3 3-3 6h3v4h-3v-4"/>',code:'<path d="m8 8-4 4 4 4M16 8l4 4-4 4M13 6l-2 12"/>',minus:'<path d="M5 12h14"/>',heading:'<path d="M6 4v16M18 4v16M6 12h12"/>',panelLeft:'<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M9 4v16"/>',cornerUpRight:'<path d="M5 19V11a4 4 0 0 1 4-4h10M15 3l4 4-4 4"/>',openPeek:'<rect x="3" y="5" width="18" height="14" rx="2.5"/><rect x="6" y="8" width="4" height="8" rx="1" fill="currentColor" stroke="none"/>',settings:'<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>',eyeOff:'<path d="M4 4l16 16M9.5 9.5a3 3 0 0 0 4 4M6.5 6.7C4.5 8 3 10 2 12c2 4 6 7 10 7 1.6 0 3-.4 4.4-1.1M9.5 5.2A9.7 9.7 0 0 1 12 5c4 0 8 3 10 7-.6 1.3-1.5 2.5-2.5 3.5"/>',bold:'<path d="M6 4h7a4 4 0 0 1 0 8H6zM6 12h8a4 4 0 0 1 0 8H6z"/>',italic:'<path d="M19 4h-9M14 20H5M15 4 9 20"/>',underline:'<path d="M6 4v6a6 6 0 0 0 12 0V4M4 21h16"/>',strike:'<path d="M4 12h16M7 7a4 4 0 0 1 7-1M9 17a4 4 0 0 0 7-2"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/>',moon:'<path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/>',monitor:'<rect x="3" y="4" width="18" height="13" rx="2"/><path d="M8 21h8M12 17v4"/>'};function i({name:q,cls:Z="ico"}){return z("svg",{class:Z,viewBox:"0 0 24 24",dangerouslySetInnerHTML:{__html:X6[q]??""}},void 0,!1,void 0,this)}var Dq={text:"text",number:"hash",select:"select",multi_select:"multi",checkbox:"checkbox",date:"calendar",url:"link",relation:"relation"};function _9(q){let Z=q,$=new Set;return{get:()=>Z,set:(J)=>{Z=J,$.forEach((Q)=>Q(J))},use(){let[J,Q]=e(Z);return gq(()=>{return $.add(Q),()=>void $.delete(Q)},[]),J}}}var V0=_9([]),W6=0;function uZ(q){let Z=++W6;V0.set([...V0.get(),{id:Z,msg:q}]),setTimeout(()=>V0.set(V0.get().filter(($)=>$.id!==Z)),2600)}var N9=_9(null);function Aq(q,Z,$={}){N9.set({render:Z,anchor:q,minWidth:$.minWidth})}function DZ(){N9.set(null)}function H6(q){if(q instanceof MouseEvent)return{x:q.clientX,y:q.clientY};if("rect"in q)return{x:q.rect.left,y:q.rect.bottom,bottom:q.rect.bottom};return{x:q.x,y:q.y}}function F6(){let q=N9.use(),Z=yq(null),[$,J]=e(null);if(RZ(()=>{if(!q||!Z.current)return J(null);let{x:Q,y:X}=H6(q.anchor),W=Z.current.getBoundingClientRect();J({left:Math.min(Q,innerWidth-W.width-10),top:Math.min(X+4,innerHeight-W.height-10)})},[q]),!q)return null;return z("div",{class:"menu-layer",onMouseDown:(Q)=>Q.target===Q.currentTarget&&DZ(),children:z("div",{ref:Z,class:"pop",style:{left:$?.left??-9999,top:$?.top??-9999,minWidth:q.minWidth},onMouseDown:(Q)=>Q.stopPropagation(),children:q.render(DZ)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function bq({children:q}){return z("div",{class:"lbl",children:q},void 0,!1,void 0,this)}function Nq(){return z("div",{class:"sep"},void 0,!1,void 0,this)}function Zq({icon:q,label:Z,sublabel:$,danger:J,checked:Q,onClick:X}){return z("button",{class:"item"+(J?" danger":""),onClick:X,children:[q&&z("span",{class:"lico plain",children:z(i,{name:q,cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"meta",children:[z("span",{class:"t",children:Z},void 0,!1,void 0,this),$&&z("span",{class:"d",children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q&&z("span",{class:"chk",children:z(i,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var f9=_9(null);function E0(q){f9.set(q)}function q0(){f9.set(null)}function c0({title:q,sub:Z,children:$,footer:J,width:Q}){return z("div",{class:"modal",style:{width:Q},onMouseDown:(X)=>X.stopPropagation(),children:[z("div",{class:"modal-head",children:[z("h3",{children:q},void 0,!1,void 0,this),Z&&z("p",{children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"modal-body",children:$},void 0,!1,void 0,this),J&&z("div",{class:"modal-foot",children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function G6(){let q=f9.use();return gq(()=>{if(!q)return;let Z=($)=>$.key==="Escape"&&q0();return addEventListener("keydown",Z),()=>removeEventListener("keydown",Z)},[q]),z("div",{class:"modal-scrim"+(q?" open":""),onMouseDown:(Z)=>Z.target===Z.currentTarget&&q0(),children:q},void 0,!1,void 0,this)}function hq(q){return new Promise((Z)=>{let $=(J)=>{q0(),Z(J)};E0(z(c0,{title:q.title,footer:z(qq,{children:[z("button",{class:"btn btn-secondary",onClick:()=>$(!1),children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn "+(q.danger?"btn-danger":"btn-primary"),onClick:()=>$(!0),children:q.confirmLabel??"确定"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:z("div",{class:"muted",children:q.message},void 0,!1,void 0,this)},void 0,!1,void 0,this))})}function K0(q){return new Promise((Z)=>{let $=q.value??"",J=(Q)=>{q0(),Z(Q)};E0(z(c0,{title:q.title,footer:z(qq,{children:[z("button",{class:"btn btn-secondary",onClick:()=>J(null),children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:()=>J($.trim()||(q.value??"")),children:q.confirmLabel??"保存"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[q.label&&z("div",{class:"field-label",children:q.label},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,value:q.value??"",placeholder:q.placeholder,onInput:(Q)=>$=Q.target.value,onKeyDown:(Q)=>{if(Q.key==="Enter")J($.trim()||(q.value??""))}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))})}function hZ(){let q=V0.use();return z(qq,{children:[z(F6,{},void 0,!1,void 0,this),z(G6,{},void 0,!1,void 0,this),z("div",{class:"toasts",children:q.map((Z)=>z("div",{class:"toast",children:[z(i,{name:"check",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:Z.msg},void 0,!1,void 0,this)]},Z.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var k9=null;function pZ(q){let[Z,$]=e(new Set),[J,Q]=e(""),X=U6(q.onResize),W=(y)=>{let w=new Set(Z);w.has(y)?w.delete(y):w.add(y),$(w)},H=(y)=>y().catch((w)=>q.onError(String(w.message))),G=(y)=>H(async()=>{let w=await Hq.createDocument({title:"",...y?{parent_id:y}:{}});if(y)Z.delete(y);await q.reloadNav(),q.onOpenDoc(w.id)}),F=(y,w,V)=>H(async()=>{if(y===w.id)return;if(Y6(q.docs,y,w.id))return;let A=V==="into"?w.id:w.parent_id;if(await Hq.updateDocument(y,{parent_id:A}),V==="into")Z.delete(w.id);await q.reloadNav()}),U=(y,w)=>{y.stopPropagation(),Aq(y,(V)=>z(qq,{children:[z(Zq,{icon:"settings",label:"重命名…",onClick:async()=>{V();let A=await K0({title:"重命名数据库",value:w.name});if(A&&A!==w.name)H(async()=>{await Hq.updateDatabase(w.id,{name:A}),await q.reloadNav()})}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"trash",label:"删除数据库",danger:!0,onClick:async()=>{if(V(),await hq({title:"删除数据库?",message:`「${w.name}」及其所有记录将被永久删除。`,confirmLabel:"删除",danger:!0}))H(async()=>{await Hq.deleteDatabase(w.id),await q.reloadNav(),q.afterDelete("db",w.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},Y=(y,w)=>{y.stopPropagation();let V=q.docs.filter((A)=>A.parent_id===w.id).length;Aq(y,(A)=>z(qq,{children:[z(Zq,{icon:"plus",label:"新建子页",onClick:()=>{A(),G(w.id)}},void 0,!1,void 0,this),z(Zq,{icon:"settings",label:"重命名…",onClick:async()=>{A();let f=await K0({title:"重命名文档",value:w.title});if(f)H(async()=>{await Hq.updateDocument(w.id,{title:f}),await q.reloadNav()})}},void 0,!1,void 0,this),w.parent_id&&z(Zq,{icon:"cornerUpRight",label:"移到顶层",onClick:()=>{A(),H(async()=>{await Hq.updateDocument(w.id,{parent_id:null}),await q.reloadNav()})}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"trash",label:"删除",danger:!0,onClick:async()=>{if(A(),await hq({title:"删除文档?",message:V?`「${w.title||"无标题"}」及其 ${V} 个子页将被删除。`:`「${w.title||"无标题"}」将被删除。`,confirmLabel:"删除",danger:!0}))H(async()=>{await EZ(q.docs,w.id),await q.reloadNav(),q.afterDelete("doc",w.id)})}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},v=(y,w=0)=>{return q.docs.filter((A)=>A.parent_id===y).map((A)=>{let f=q.docs.filter((O)=>O.parent_id===A.id),S=f.length>0&&!Z.has(A.id);return z("div",{class:w?"navchildren":"",children:[z("div",{class:"navitem"+(q.activeKind==="doc"&&q.activeId===A.id?" active":""),draggable:!0,onClick:()=>q.onOpenDoc(A.id),onDragStart:(O)=>{O.stopPropagation(),k9=A.id,O.currentTarget.classList.add("dragging")},onDragEnd:(O)=>{O.currentTarget.classList.remove("dragging"),g9()},onDragOver:(O)=>{O.preventDefault(),O.stopPropagation(),K6(O.currentTarget,O)},onDrop:(O)=>{O.preventDefault(),O.stopPropagation();let B=iZ(O.currentTarget,O),N=k9;if(k9=null,g9(),N)F(N,A,B)},children:[z("span",{class:"tw"+(S?" open":""),onClick:(O)=>{if(O.stopPropagation(),f.length)W(A.id)},children:f.length>0&&z(i,{name:"chevron",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"emoji",children:z(i,{name:"file",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"label",children:A.title||"无标题"},void 0,!1,void 0,this),z("span",{class:"acts",children:[z("button",{title:"新建子页",onClick:(O)=>{O.stopPropagation(),G(A.id)},children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{title:"更多",onClick:(O)=>Y(O,A),children:z(i,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),S&&v(A.id,w+1)]},A.id,!0,void 0,this)})};return z("div",{class:"sidebar"+(q.collapsed?" collapsed":""),style:{width:q.width,marginLeft:q.collapsed?-q.width:void 0},children:[z("div",{class:"sb-head",children:[z("div",{class:"brand",children:[z("span",{class:"mark",children:z(i,{name:"cube"},void 0,!1,void 0,this)},void 0,!1,void 0,this),"Metahub"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"收起侧栏",onClick:q.onCollapse,children:z(i,{name:"panelLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-search",onClick:(y)=>y.currentTarget.querySelector("input")?.focus(),children:[z(i,{name:"search",cls:"ico sm"},void 0,!1,void 0,this),z("input",{placeholder:"搜索…",value:J,onInput:(y)=>Q(y.target.value),onKeyDown:(y)=>{if(y.key==="Enter"&&J.trim())q.onSearch(J.trim())}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-scroll",children:[z("div",{class:"sb-section",children:[z("div",{class:"sb-section-head",children:[z("span",{children:"数据库"},void 0,!1,void 0,this),z("button",{class:"add",title:"新建数据库",onClick:()=>y6(q.onOpenDb,q.reloadNav,q.onError),children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.databases.map((y)=>z("div",{class:"navitem"+(q.activeKind==="db"&&q.activeId===y.id?" active":""),onClick:()=>q.onOpenDb(y.id),children:[z("span",{class:"emoji",children:y.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),z("span",{class:"label",children:y.name},void 0,!1,void 0,this),z("span",{class:"acts",children:z("button",{title:"更多",onClick:(w)=>U(w,y),children:z(i,{name:"dots",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},y.id,!0,void 0,this)),q.databases.length===0&&z("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-section",children:[z("div",{class:"sb-section-head",children:[z("span",{children:"文档"},void 0,!1,void 0,this),z("button",{class:"add",title:"新建文档",onClick:()=>G(null),children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v(null),q.docs.length===0&&z("div",{class:"navitem muted",children:"暂无"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"sb-footer",children:z("button",{class:"navitem"+(q.settingsActive?" active":""),onClick:q.onOpenSettings,children:[z("span",{class:"emoji",children:z(i,{name:"settings",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"label",children:"设置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("div",{class:"sb-resizer",onMouseDown:X},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function g9(){document.querySelectorAll(".drop-into,.drop-before,.drop-after").forEach((q)=>q.classList.remove("drop-into","drop-before","drop-after"))}function iZ(q,Z){let $=q.getBoundingClientRect(),J=Z.clientY-$.top;return J<$.height*0.28?"before":J>$.height*0.72?"after":"into"}function K6(q,Z){g9(),q.classList.add("drop-"+iZ(q,Z))}function Y6(q,Z,$){let J=q.find((Q)=>Q.id===$);while(J){if(J.parent_id===Z)return!0;J=q.find((Q)=>Q.id===J.parent_id)}return!1}async function EZ(q,Z){for(let $ of q.filter((J)=>J.parent_id===Z))await EZ(q,$.id);await Hq.deleteDocument(Z)}function U6(q){return(Z)=>{Z.preventDefault();let $=(Q)=>q(Math.max(210,Math.min(460,Q.clientX))),J=()=>{removeEventListener("mousemove",$),removeEventListener("mouseup",J)};addEventListener("mousemove",$),addEventListener("mouseup",J)}}var mZ={blank:[{name:"名称",type:"text"}],tasks:[{name:"名称",type:"text"},{name:"状态",type:"select",config:{options:["待办","进行中","已完成"]}},{name:"优先级",type:"select",config:{options:["高","中","低"]}},{name:"截止",type:"date"}],crm:[{name:"姓名",type:"text"},{name:"公司",type:"text"},{name:"分类",type:"select",config:{options:["客户","合作","潜在"]}},{name:"邮箱",type:"url"}]};function y6(q,Z,$){E0(z(w6,{onOpenDb:q,reloadNav:Z,onError:$},void 0,!1,void 0,this))}function w6(q){let Z=["\uD83D\uDDC2️","\uD83C\uDFAF","\uD83E\uDD1D","\uD83D\uDCE6","\uD83D\uDCDA","\uD83D\uDCA1","\uD83E\uDDE9","\uD83D\uDCCA","\uD83D\uDDD3️","✅"],$=[["blank","空白","仅一个「名称」列"],["tasks","任务","状态·优先级·截止"],["crm","联系人","公司·分类·邮箱"]],[J,Q]=e(""),[X,W]=e(Z[0]),[H,G]=e("blank"),F=yq(!1),U=async()=>{if(F.current)return;F.current=!0;try{let Y=await Hq.createDatabase({name:J.trim()||"未命名数据库",icon:X});for(let v of mZ[H]??mZ.blank)await Hq.createProperty({db:Y.id,name:v.name,type:v.type,config:v.config});q0(),await q.reloadNav(),q.onOpenDb(Y.id),uZ(`已创建数据库「${Y.name}」`)}catch(Y){q.onError(String(Y.message))}finally{F.current=!1}};return z(c0,{title:"新建数据库",sub:"创建一个带属性列的结构化数据表。",footer:z(qq,{children:[z("button",{class:"btn btn-secondary",onClick:q0,children:"取消"},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:U,children:"创建"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:[z("div",{class:"field-label",children:"名称"},void 0,!1,void 0,this),z("input",{class:"text-input",autofocus:!0,placeholder:"例如:项目、客户、库存…",value:J,onInput:(Y)=>Q(Y.target.value),onKeyDown:(Y)=>Y.key==="Enter"&&U()},void 0,!1,void 0,this),z("div",{class:"field-label",children:"图标"},void 0,!1,void 0,this),z("div",{class:"icon-pick",children:Z.map((Y)=>z("button",{class:Y===X?"sel":"",onClick:()=>W(Y),children:Y},Y,!1,void 0,this))},void 0,!1,void 0,this),z("div",{class:"field-label",children:"模板"},void 0,!1,void 0,this),z("div",{class:"tmpl",children:$.map(([Y,v,y])=>z("button",{class:Y===H?"sel":"",onClick:()=>G(Y),children:[z("div",{class:"tt",children:v},void 0,!1,void 0,this),z("div",{class:"td",children:y},void 0,!1,void 0,this)]},Y,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var cZ=[4,28,45,130,165,200,220,255,290,330];function b9(q){let Z=0;for(let $=0;$<q.length;$++)Z=Z*31+q.charCodeAt($)>>>0;return`hsl(${cZ[Z%cZ.length]} 65% 45%)`}function Z0({text:q}){return z("span",{class:"chip",style:{["--c"]:b9(q)},children:q},void 0,!1,void 0,this)}function Y0({prop:q,val:Z}){if(Z==null||Z===""||Array.isArray(Z)&&Z.length===0)return z("span",{class:"muted",children:" "},void 0,!1,void 0,this);if(q.type==="select")return z(Z0,{text:String(Z)},void 0,!1,void 0,this);if(q.type==="multi_select"||q.type==="relation")return z(qq,{children:Z.map(($)=>z(Z0,{text:String($)},String($),!1,void 0,this))},void 0,!1,void 0,this);if(q.type==="url")return z("a",{href:String(Z),target:"_blank",rel:"noreferrer",onClick:($)=>$.stopPropagation(),children:String(Z)},void 0,!1,void 0,this);return z("span",{children:String(Z)},void 0,!1,void 0,this)}function S9(q,Z){if(q==="relation")return Z.split(",").map(($)=>$.trim()).filter(Boolean);return Z}function aZ(q,Z){if(Z==null)return"";if(Array.isArray(Z))return Z.join(", ");return String(Z)}var $0="\x00__ungrouped__";function dZ({props:q,records:Z,onCommitValue:$,onCreate:J,onOpenRecord:Q,onMove:X}){let W=q.filter((B)=>B.type==="select"||B.type==="multi_select"),[H,G]=e(null),F=q.find((B)=>B.id===H)??W.find((B)=>B.type==="select")??W[0]??null,U=yq(null);if(!F)return z("div",{class:"view-placeholder",children:"看板视图需要一个「单选」或「多选」属性来分组。请在表格视图中添加一个单选列后再切换到看板。"},void 0,!1,void 0,this);let Y=q[0],v=F.type==="multi_select",y=F.config?.options??[],w=(B)=>{let N=B.values[F.name];if(v){let I=(Array.isArray(N)?N:[]).map(String).filter((R)=>y.includes(R));return I.length?I:[$0]}let P=N==null?"":String(N);return P&&y.includes(P)?[P]:[$0]},V=new Map;for(let B of y)V.set(B,[]);V.set($0,[]);for(let B of Z)for(let N of w(B))V.get(N)?.push(B);let A=[...y];if((V.get($0)?.length??0)>0)A.push($0);let f=()=>document.querySelectorAll(".board-col.drop-into").forEach((B)=>B.classList.remove("drop-into")),S=(B,N)=>{if(B.button!==0)return;if(B.target.closest("button,a,input"))return;let P=B.currentTarget.closest(".kcard");if(!P)return;let I=P.getBoundingClientRect();B.preventDefault(),U.current={id:N.id,pointerId:B.pointerId,startX:B.clientX,startY:B.clientY,offsetX:B.clientX-I.left,offsetY:B.clientY-I.top,active:!1,source:P,ghost:null};let R=(u)=>{let h=U.current;if(!h||h.pointerId!==u.pointerId)return;if(!h.active){if(Math.hypot(u.clientX-h.startX,u.clientY-h.startY)<4)return;h.active=!0;let D=h.source.cloneNode(!0);D.classList.add("dragging-ghost"),D.style.width=`${I.width}px`,document.body.appendChild(D),h.ghost=D,h.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}if(u.preventDefault(),h.ghost)h.ghost.style.transform=`translate3d(${Math.round(u.clientX-h.offsetX)}px, ${Math.round(u.clientY-h.offsetY)}px, 0)`;f(),document.elementFromPoint(u.clientX,u.clientY)?.closest?.(".board-col")?.classList.add("drop-into")},T=(u)=>{let h=U.current;if(!h||h.pointerId!==u.pointerId)return;if(removeEventListener("pointermove",R),removeEventListener("pointerup",T),removeEventListener("pointercancel",T),h.ghost?.remove(),h.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),f(),U.current=null,!h.active){Q(N.id);return}let t=document.elementFromPoint(u.clientX,u.clientY)?.closest?.(".board-col");if(!t)return;if(!v){let Yq=t.dataset.colKey,g=String(N.values[F.name]??""),M=Yq===$0?null:Yq;if(String(M??"")!==g)$(N,F,M)}let D=document.elementFromPoint(u.clientX,u.clientY)?.closest?.(".kcard"),Qq=D?.dataset.recId;if(Qq&&Qq!==N.id){let Yq=D.getBoundingClientRect();X(N.id,Qq,u.clientY<Yq.top+Yq.height/2?"before":"after")}};addEventListener("pointermove",R,{passive:!1}),addEventListener("pointerup",T),addEventListener("pointercancel",T)};return z("div",{class:"board-wrap",children:[z("div",{class:"board-bar",children:[z("button",{class:"tbtn",onClick:(B)=>Aq(B,(N)=>z(qq,{children:[z(bq,{children:"按属性分组"},void 0,!1,void 0,this),W.map((P)=>z(Zq,{icon:Dq[P.type],label:P.name,onClick:()=>{G(P.id),N()}},P.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[z(i,{name:"group",cls:"ico sm"},void 0,!1,void 0,this),"分组:",F.name]},void 0,!0,void 0,this),v&&z("span",{class:"muted",style:{fontSize:12},children:"多选分组不支持拖拽改值"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"board",children:A.map((B)=>{let N=V.get(B)??[],P=B===$0;return z("div",{class:"board-col","data-col-key":B,children:[z("div",{class:"board-col-head",children:[P?z("span",{class:"muted",style:{fontWeight:600},children:"未分组"},void 0,!1,void 0,this):z(Z0,{text:B},void 0,!1,void 0,this),z("span",{class:"board-count",children:N.length},void 0,!1,void 0,this),z("div",{class:"spacer"},void 0,!1,void 0,this),z("button",{class:"iconbtn sm",title:"新建记录",onClick:()=>J(P?{}:{[F.name]:B}),children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"board-col-body",children:[N.map((I)=>z("div",{class:"kcard","data-rec-id":I.id,onPointerDown:(R)=>S(R,I),children:[z("div",{class:"kcard-title",children:B6(I,Y)||z("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q.filter((R)=>R!==Y&&R.id!==F.id&&!P6(I.values[R.name])).slice(0,4).map((R)=>z("div",{class:"kcard-field",children:[z(i,{name:Dq[R.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),z(Y0,{prop:R,val:I.values[R.name]},void 0,!1,void 0,this)]},R.id,!0,void 0,this))]},I.id,!0,void 0,this)),z("button",{class:"board-add",onClick:()=>J(P?{}:{[F.name]:B}),children:[z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},B,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function B6(q,Z){if(!Z)return"";let $=q.values[Z.name];return $==null?"":Array.isArray($)?$.join(", "):String($)}function P6(q){return q==null||q===""||Array.isArray(q)&&q.length===0}function M0(q){if(q==null)return null;let Z=String(q).trim();if(!Z)return null;let $=/^(\d{4})-(\d{2})-(\d{2})/.exec(Z);if($)return new Date(Number($[1]),Number($[2])-1,Number($[3]));let J=new Date(Z);return Number.isNaN(J.getTime())?null:new Date(J.getFullYear(),J.getMonth(),J.getDate())}function mq(q){let Z=q.getFullYear(),$=String(q.getMonth()+1).padStart(2,"0"),J=String(q.getDate()).padStart(2,"0");return`${Z}-${$}-${J}`}function Sq(q,Z){return new Date(q.getFullYear(),q.getMonth(),q.getDate()+Z)}function T9(q,Z){return q.getFullYear()===Z.getFullYear()&&q.getMonth()===Z.getMonth()&&q.getDate()===Z.getDate()}function L6(q,Z){return new Date(q,Z,1)}function v6(q,Z){return new Date(q,Z+1,0)}function U0(q,Z){let $=Date.UTC(q.getFullYear(),q.getMonth(),q.getDate()),J=Date.UTC(Z.getFullYear(),Z.getMonth(),Z.getDate());return Math.round((J-$)/86400000)}function a0(){let q=new Date;return new Date(q.getFullYear(),q.getMonth(),q.getDate())}function C6(q){let Z=(q.getDay()+6)%7;return Sq(q,-Z)}function nZ(q,Z){let $=C6(L6(q,Z)),J=v6(q,Z),Q=[],X=$;while(X<=J||Q.length===0||X.getDay()!==1){let W=[];for(let H=0;H<7;H++)W.push(Sq(X,H));if(Q.push(W),X=Sq(X,7),Q.length>=6)break}return Q}var A6=["一","二","三","四","五","六","日"],I9=3;function rZ({props:q,records:Z,onCommitValue:$,onCreate:J,onOpenRecord:Q}){let X=q.filter((P)=>P.type==="date"),[W,H]=e(null),G=q.find((P)=>P.id===W)??X[0]??null,F=a0(),[U,Y]=e({y:F.getFullYear(),m:F.getMonth()}),v=yq(null);if(!G)return z("div",{class:"view-placeholder",children:"日历视图需要一个「日期」属性。请在表格视图中添加一个日期列后再切换到日历。"},void 0,!1,void 0,this);let y=q[0],w=nZ(U.y,U.m),V=Z.map((P)=>({rec:P,date:M0(P.values[G.name])})).filter((P)=>P.date!=null),A=(P)=>V.filter((I)=>T9(I.date,P)),f=(P)=>{let I=U.m+P;Y({y:U.y+Math.floor(I/12),m:(I%12+12)%12})},S=()=>Y({y:F.getFullYear(),m:F.getMonth()}),O=()=>document.querySelectorAll(".cal-day.drop-into").forEach((P)=>P.classList.remove("drop-into")),B=(P,I)=>{if(P.button!==0)return;P.preventDefault(),P.stopPropagation(),v.current={id:I.id,pointerId:P.pointerId,startX:P.clientX,startY:P.clientY,active:!1,ghost:null};let R=(u)=>{let h=v.current;if(!h||h.pointerId!==u.pointerId)return;if(!h.active){if(Math.hypot(u.clientX-h.startX,u.clientY-h.startY)<4)return;h.active=!0,h.ghost=O6(d0(I,y)),document.body.classList.add("table-dragging")}if(u.preventDefault(),h.ghost)h.ghost.style.transform=`translate3d(${Math.round(u.clientX+8)}px, ${Math.round(u.clientY+8)}px, 0)`;O(),document.elementFromPoint(u.clientX,u.clientY)?.closest?.(".cal-day")?.classList.add("drop-into")},T=(u)=>{let h=v.current;if(!h||h.pointerId!==u.pointerId)return;if(removeEventListener("pointermove",R),removeEventListener("pointerup",T),removeEventListener("pointercancel",T),h.ghost?.remove(),document.body.classList.remove("table-dragging"),O(),v.current=null,!h.active){Q(I.id);return}let D=document.elementFromPoint(u.clientX,u.clientY)?.closest?.(".cal-day")?.dataset.iso;if(D&&D!==String(I.values[G.name]??""))$(I,G,D)};addEventListener("pointermove",R,{passive:!1}),addEventListener("pointerup",T),addEventListener("pointercancel",T)},N=(P)=>Aq(P,(I)=>z(qq,{children:[z(bq,{children:"按日期属性"},void 0,!1,void 0,this),X.map((R)=>z(Zq,{icon:Dq[R.type],label:R.name,onClick:()=>{H(R.id),I()}},R.id,!1,void 0,this))]},void 0,!0,void 0,this));return z("div",{class:"cal",children:[z("div",{class:"cal-nav",children:[z("button",{class:"iconbtn",title:"上个月",onClick:()=>f(-1),children:z(i,{name:"chevron",cls:"ico flip"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"cal-title",children:[U.y," 年 ",U.m+1," 月"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",title:"下个月",onClick:()=>f(1),children:z(i,{name:"chevron",cls:"ico"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"tbtn",onClick:S,children:"今天"},void 0,!1,void 0,this),z("div",{class:"spacer"},void 0,!1,void 0,this),X.length>1&&z("button",{class:"tbtn",onClick:N,children:[z(i,{name:"calendar",cls:"ico sm"},void 0,!1,void 0,this),G.name]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"cal-grid cal-head",children:A6.map((P)=>z("div",{class:"cal-wd",children:P},P,!1,void 0,this))},void 0,!1,void 0,this),z("div",{class:"cal-body",children:w.map((P,I)=>z("div",{class:"cal-grid cal-week",children:P.map((R)=>{let T=R.getMonth()!==U.m,u=T9(R,F),h=A(R),t=mq(R);return z("div",{class:"cal-day"+(T?" dim":"")+(u?" today":""),"data-iso":t,onClick:(D)=>{if(D.target.closest(".cal-ev,.cal-add,.cal-more"))return;J({[G.name]:t})},children:[z("div",{class:"cal-daynum",children:[z("span",{children:R.getDate()},void 0,!1,void 0,this),z("button",{class:"cal-add",title:"新建记录",onClick:(D)=>{D.stopPropagation(),J({[G.name]:t})},children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"cal-events",children:[h.slice(0,I9).map(({rec:D})=>z("div",{class:"cal-ev",style:{["--c"]:b9(d0(D,y)||D.id)},onPointerDown:(Qq)=>B(Qq,D),children:d0(D,y)||"无标题"},D.id,!1,void 0,this)),h.length>I9&&z("button",{class:"cal-more",onClick:(D)=>{D.stopPropagation(),Aq(D,(Qq)=>z(qq,{children:[z(bq,{children:[t," · ",h.length," 条记录"]},void 0,!0,void 0,this),h.map(({rec:Yq})=>z(Zq,{label:d0(Yq,y)||"无标题",onClick:()=>{Qq(),Q(Yq.id)}},Yq.id,!1,void 0,this))]},void 0,!0,void 0,this))},children:["+",h.length-I9," 更多"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},t,!0,void 0,this)})},I,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function d0(q,Z){if(!Z)return"";let $=q.values[Z.name];return $==null?"":Array.isArray($)?$.join(", "):String($)}function O6(q){let Z=document.createElement("div");return Z.className="drag-ghost",Z.textContent=q||"移动记录",document.body.appendChild(Z),Z}var oq=200,_0=36,N0=44,Rq=28,tZ=3;function sZ({props:q,records:Z,onCommitValue:$,onOpenRecord:J}){let Q=q.filter((M)=>M.type==="date"),[X,W]=e(null),[H,G]=e(null),F=q.find((M)=>M.id===X)??Q[0]??null,U=H==="none"?null:q.find((M)=>M.id===H)??Q.find((M)=>M!==F)??null,Y=yq(null),v=yq(null);if(!F)return z("div",{class:"view-placeholder",children:"时间轴视图需要一个「日期」属性作为开始日期。请在表格视图中添加一个日期列后再切换到时间轴。"},void 0,!1,void 0,this);let y=q[0],w=a0(),V=Z.map((M)=>{let C=M0(M.values[F.name]),b=U?M0(M.values[U.name]):null;return{rec:M,s:C,e:b&&C&&b<C?C:b}}),A=V.filter((M)=>M.s),f=w,S=w;if(A.length){f=A[0].s,S=A[0].s;for(let M of A){if(M.s<f)f=M.s;let C=M.e??M.s;if(C>S)S=C}}else f=Sq(w,-10),S=Sq(w,14);let O=Sq(f,-tZ),B=Sq(S,tZ),N=U0(O,B)+1,P=oq+N*Rq,I=(M)=>oq+M*Rq,R=U0(O,w),T=[];for(let M=0;M<N;M++)T.push(Sq(O,M));let u=(M,C,b,r,s)=>{if(s===0)return;if(r==="move"){if(C)$(M,F,mq(Sq(C,s)));if(U&&b)$(M,U,mq(Sq(b,s)))}else if(r==="l"&&C){let $q=Sq(C,s);$(M,F,mq(b&&$q>b?b:$q))}else if(r==="r"&&U&&b){let $q=Sq(b,s);$(M,U,mq(C&&$q<C?C:$q))}},h=(M,C)=>{let b=v.current;if(!b)return;b.style.left=M+"px",b.style.display="block";let r=b.firstElementChild;if(r)r.textContent=C},t=()=>{if(v.current)v.current.style.display="none"},D=(M,C,b,r,s,$q)=>{if(M.button!==0||!b)return;M.preventDefault(),M.stopPropagation();let{offsetLeft:Fq,offsetWidth:vq}=$q,Jq=!1;Y.current={pointerId:M.pointerId,startX:M.clientX};let _=(a)=>{let d=Y.current;if(!d||d.pointerId!==a.pointerId)return;let zq=Math.round((a.clientX-d.startX)/Rq);if(Math.abs(a.clientX-d.startX)>3)Jq=!0;let wq,l;if(s==="move"){let E=Fq+zq*Rq;$q.style.left=E+"px",wq=E,l=Sq(b,zq)}else if(s==="l"){let E=Fq+zq*Rq;$q.style.left=E+"px",$q.style.width=Math.max(Rq,vq-zq*Rq)+"px",wq=E,l=Sq(b,zq)}else{let E=Math.max(Rq,vq+zq*Rq);$q.style.width=E+"px",wq=Fq+E,l=Sq(b,Math.round(E/Rq)-1)}h(wq,mq(l))},x=(a)=>{let d=Y.current;if(!d||d.pointerId!==a.pointerId)return;removeEventListener("pointermove",_),removeEventListener("pointerup",x),removeEventListener("pointercancel",x),Y.current=null,t();let zq=Math.round((a.clientX-d.startX)/Rq);if(!Jq){J(C.id);return}u(C,b,r,s,zq)};addEventListener("pointermove",_,{passive:!1}),addEventListener("pointerup",x),addEventListener("pointercancel",x)},Qq=(M,C)=>{if($(M,F,mq(C)),U)$(M,U,mq(C))},Yq=(M,C)=>{let b=M.currentTarget.closest(".tl-row");if(!b)return;let r=M.clientX-b.getBoundingClientRect().left;if(r<oq)return;let s=Math.max(0,Math.min(N-1,Math.round((r-oq)/Rq)));Qq(C,Sq(O,s))};return z("div",{class:"tl",children:[z("div",{class:"tl-toolbar",children:z("button",{class:"tbtn",onClick:(M)=>Aq(M,(C)=>z(qq,{children:[z(bq,{children:"开始日期"},void 0,!1,void 0,this),Q.map((b)=>z(Zq,{icon:Dq[b.type],label:b.name,checked:b===F,onClick:()=>{W(b.id),C()}},b.id,!1,void 0,this)),z(Nq,{},void 0,!1,void 0,this),z(bq,{children:"结束日期(可选)"},void 0,!1,void 0,this),z(Zq,{icon:"x",label:"无(里程碑)",checked:!U,onClick:()=>{G("none"),C()}},void 0,!1,void 0,this),Q.map((b)=>z(Zq,{icon:Dq[b.type],label:b.name,checked:b===U,onClick:()=>{G(b.id),C()}},b.id,!1,void 0,this))]},void 0,!0,void 0,this)),children:[z(i,{name:"timeline",cls:"ico sm"},void 0,!1,void 0,this),F.name,U?` → ${U.name}`:"(里程碑)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("div",{class:"tl-scroll",children:z("div",{class:"tl-canvas",style:{width:P,height:N0+V.length*_0+8},children:[z("div",{class:"tl-axis",style:{height:N0},children:[z("div",{class:"tl-corner",style:{width:oq},children:"记录"},void 0,!1,void 0,this),T.map((M,C)=>{let b=M.getDate()===1;return z("div",{class:"tl-tick"+(b?" mstart":"")+(U0(M,w)===0?" today":""),style:{left:I(C),width:Rq},children:[b&&z("span",{class:"tl-month",children:[M.getMonth()+1,"月"]},void 0,!0,void 0,this),z("span",{class:"tl-dnum",children:M.getDate()},void 0,!1,void 0,this)]},C,!0,void 0,this)})]},void 0,!0,void 0,this),V.map(({rec:M,s:C,e:b},r)=>{let s=C?U0(O,C):0,$q=C&&b?U0(C,b)+1:1;return z("div",{class:"tl-row",style:{top:N0+r*_0,height:_0},children:[z("div",{class:"tl-rowlabel",style:{width:oq},children:lZ(M,y)||z("span",{class:"muted",children:"无标题"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!C?z("div",{class:"tl-track-empty",style:{left:oq},onClick:(Fq)=>Yq(Fq,M),title:"点击空白处排期",children:z("button",{class:"tl-schedule",style:{left:oq+8},onClick:(Fq)=>{Fq.stopPropagation(),Qq(M,w)},children:"未排期 · 排到今天"},void 0,!1,void 0,this)},void 0,!1,void 0,this):b?z("div",{class:"tl-item",style:{left:I(s),width:$q*Rq},onPointerDown:(Fq)=>D(Fq,M,C,b,"move",Fq.currentTarget),children:[z("span",{class:"tl-h l",onPointerDown:(Fq)=>D(Fq,M,C,b,"l",Fq.currentTarget.parentElement)},void 0,!1,void 0,this),z("span",{class:"tl-label",children:lZ(M,y)},void 0,!1,void 0,this),z("span",{class:"tl-h r",onPointerDown:(Fq)=>D(Fq,M,C,b,"r",Fq.currentTarget.parentElement)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):z("div",{class:"tl-milestone",style:{left:I(s)},title:mq(C),onPointerDown:(Fq)=>D(Fq,M,C,null,"move",Fq.currentTarget)},void 0,!1,void 0,this)]},M.id,!0,void 0,this)}),R>=0&&R<N&&z("div",{class:"tl-today",style:{left:I(R)+Rq/2,height:N0+V.length*_0}},void 0,!1,void 0,this),z("div",{class:"tl-guide",ref:v,style:{display:"none",height:N0+V.length*_0},children:z("span",{class:"tl-guide-label"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function lZ(q,Z){if(!Z)return"";let $=q.values[Z.name];return $==null?"":Array.isArray($)?$.join(", "):String($)}var V6=[["表格","list"],["看板","group"],["日历","calendar"],["时间轴","timeline"]];function n0(q){return{r0:Math.min(q.a.r,q.b.r),r1:Math.max(q.a.r,q.b.r),c0:Math.min(q.a.c,q.b.c),c1:Math.max(q.a.c,q.b.c)}}function q8({db:q,reloadNav:Z,onError:$}){let[J,Q]=e([]),[X,W]=e([]),[H,G]=e(0),[F,U]=e(new Set),[Y,v]=e(null),[y,w]=e(null),[V,A]=e(null),[f,S]=e(null),O=(_)=>_.config?.width??180,B=yq(null),N=yq(null),P=yq(null),I=yq(!1),R=(_)=>_().catch((x)=>$(String(x.message))),T=async()=>{let[_,x]=await Promise.all([Hq.listProperties(q.id),Hq.listRecords(q.id)]);Q(_),W(x)};gq(()=>{U(new Set),A(null),G(0),S(null),T().catch((_)=>$(String(_.message)))},[q.id]);let u=(_,x,a)=>R(async()=>{let d=await Hq.updateRecord(_.id,{[x.name]:a});W((zq)=>zq.map((wq)=>wq.id===_.id?d:wq)),w(null)}),h=(_)=>R(async()=>{let x=await Hq.createRecord(q.id,_);W((a)=>[...a,x])}),t=()=>h({}),D=(_)=>R(async()=>{if(await Promise.all(_.map((x)=>Hq.deleteRecord(x))),W((x)=>x.filter((a)=>!_.includes(a.id))),U(new Set),V&&_.includes(V))A(null)}),Qq=(_)=>R(async()=>{let x=await Hq.createRecord(q.id,_.values);W((a)=>{let d=a.findIndex((zq)=>zq.id===_.id);return[...a.slice(0,d+1),x,...a.slice(d+1)]})}),Yq=(_,x,a)=>{if(_===x||Y)return;W((d)=>oZ(d,_,x,a))},g=(_,x,a)=>{if(_===x||Y)return;Yq(_,x,a),Hq.moveRecord(_,x,a).catch((d)=>{$(String(d.message)),T().catch((zq)=>$(String(zq.message)))})},M=(_,x,a)=>{if(_===x)return;Q((d)=>{let zq=oZ(d,_,x,a).map((E,c)=>({...E,position:c+1})),wq=new Map(d.map((E)=>[E.id,E.position])),l=zq.filter((E)=>wq.get(E.id)!==E.position);if(l.length)Promise.all(l.map((E)=>Hq.updateProperty(E.id,{position:E.position}))).catch((E)=>{$(String(E.message)),T().catch((c)=>$(String(c.message)))});return zq})},C=(_,x)=>{if(Y||_.button!==0)return;let a=_.currentTarget.closest("tr");if(!a)return;_.preventDefault();let d=a.getBoundingClientRect(),zq={id:x.id,pointerId:_.pointerId,startX:_.clientX,startY:_.clientY,offsetX:_.clientX-d.left,offsetY:_.clientY-d.top,active:!1,source:a,ghost:null,targetId:null,where:"before"};B.current=zq;let wq=(E)=>{let c=B.current;if(!c||c.pointerId!==E.pointerId)return;if(!c.active){let Cq=E.clientX-c.startX,Gq=E.clientY-c.startY;if(Math.hypot(Cq,Gq)<4)return;c.active=!0,c.ghost=g6(c.source),c.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}E.preventDefault(),eZ(c.ghost,E.clientX-c.offsetX,E.clientY-c.offsetY),f6(c,E.clientX,E.clientY)},l=(E)=>{let c=B.current;if(!c||c.pointerId!==E.pointerId)return;if(removeEventListener("pointermove",wq),removeEventListener("pointerup",l),removeEventListener("pointercancel",l),c.ghost?.remove(),c.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),R9(),B.current=null,c.active&&c.targetId)g(c.id,c.targetId,c.where)};addEventListener("pointermove",wq,{passive:!1}),addEventListener("pointerup",l),addEventListener("pointercancel",l)},b=(_,x)=>{if(_.button!==0)return;let a=_.currentTarget.closest("th");if(!a)return;let d=a.getBoundingClientRect(),zq={id:x.id,pointerId:_.pointerId,startX:_.clientX,startY:_.clientY,offsetX:_.clientX-d.left,offsetY:_.clientY-d.top,active:!1,source:a,ghost:null,targetId:null,where:"before"};P.current=zq;let wq=(E)=>{let c=P.current;if(!c||c.pointerId!==E.pointerId)return;if(!c.active){let Cq=E.clientX-c.startX,Gq=E.clientY-c.startY;if(Math.hypot(Cq,Gq)<4)return;c.active=!0,I.current=!0,c.ghost=b6(c.source),c.source.classList.add("drag-source"),document.body.classList.add("table-dragging")}E.preventDefault(),eZ(c.ghost,E.clientX-c.offsetX,E.clientY-c.offsetY),k6(c,E.clientX,E.clientY)},l=(E)=>{let c=P.current;if(!c||c.pointerId!==E.pointerId)return;if(removeEventListener("pointermove",wq),removeEventListener("pointerup",l),removeEventListener("pointercancel",l),c.ghost?.remove(),c.source.classList.remove("drag-source"),document.body.classList.remove("table-dragging"),x9(),P.current=null,c.active)setTimeout(()=>{I.current=!1},0);if(c.active&&c.targetId)M(c.id,c.targetId,c.where)};addEventListener("pointermove",wq,{passive:!1}),addEventListener("pointerup",l),addEventListener("pointercancel",l)},r=(_,x,a)=>{if(_.button!==0)return;if(_.target.closest("input,button,a"))return;let d=_.shiftKey&&f?f.a:{r:x,c:a};S({a:d,b:{r:x,c:a}}),N.current={pointerId:_.pointerId,startX:_.clientX,startY:_.clientY,active:!1};let zq=(l)=>{let E=N.current;if(!E||E.pointerId!==l.pointerId)return;if(!E.active){if(Math.hypot(l.clientX-E.startX,l.clientY-E.startY)<4)return;E.active=!0,document.body.classList.add("cell-selecting")}l.preventDefault();let c=document.elementFromPoint(l.clientX,l.clientY)?.closest?.("td.cell-td");if(!c||c.dataset.r==null)return;S({a:d,b:{r:Number(c.dataset.r),c:Number(c.dataset.c)}})},wq=(l)=>{let E=N.current;if(!E||E.pointerId!==l.pointerId)return;removeEventListener("pointermove",zq),removeEventListener("pointerup",wq),removeEventListener("pointercancel",wq),document.body.classList.remove("cell-selecting"),N.current=null};addEventListener("pointermove",zq,{passive:!1}),addEventListener("pointerup",wq),addEventListener("pointercancel",wq)},s=(_)=>R(async()=>{if(!f)return;let{r0:x,r1:a,c0:d,c1:zq}=n0(f),wq=J.slice(d,zq+1),l=Fq.slice(x,a+1),E=await Promise.all(l.map((c)=>{let Cq={};for(let Gq of wq)Cq[Gq.name]=_(Gq);return Hq.updateRecord(c.id,Cq)}));W((c)=>c.map((Cq)=>E.find((Gq)=>Gq.id===Cq.id)??Cq))}),$q=async()=>{if(!f)return;let{r0:_,r1:x,c0:a,c1:d}=n0(f),zq=J.slice(a,d+1),wq=Fq.slice(_,x+1).map((l)=>zq.map((E)=>aZ(E,l.values[E.name])).join("\t")).join(`
|
|
8
|
+
`);try{await navigator.clipboard.writeText(wq)}catch{}},Fq=Y?[...X].sort((_,x)=>{let a=String(_.values[Y.name]??""),d=String(x.values[Y.name]??"");return(Y.desc?-1:1)*a.localeCompare(d,"zh")}):X,vq=X.find((_)=>_.id===V)??null,Jq=f?n0(f):null;return gq(()=>{let _=(x)=>{if(!f||y)return;let a=document.activeElement,d=(a?.tagName||"").toLowerCase();if(d==="input"||d==="textarea"||a?.isContentEditable)return;if((x.metaKey||x.ctrlKey)&&x.key.toLowerCase()==="c")x.preventDefault(),$q();else if(x.key==="Escape")S(null);else if(x.key==="Delete"||x.key==="Backspace"){let zq=n0(f);if(zq.r0!==zq.r1||zq.c0!==zq.c1)x.preventDefault(),s(()=>null)}};return addEventListener("keydown",_),()=>removeEventListener("keydown",_)},[f,y,X,J,Y]),z("div",{class:"db",onPointerDown:(_)=>{if(!_.target.closest("td.cell-td, .cellselbar"))S(null)},children:[z("div",{class:"db-head",children:[z("div",{class:"db-icon",children:q.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),z("div",{children:z("div",{class:"db-title",contentEditable:!0,onBlur:(_)=>{let x=_.target.textContent?.trim()||q.name;if(x!==q.name)R(async()=>{await Hq.updateDatabase(q.id,{name:x}),await Z()})},children:q.name},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"views",children:[V6.map(([_,x],a)=>z("div",{class:"view-tab"+(a===H?" active":""),onClick:()=>G(a),children:[z(i,{name:x},void 0,!1,void 0,this),_]},_,!0,void 0,this)),z("div",{class:"view-tab",title:"新建视图",children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"spacer",style:{flex:1}},void 0,!1,void 0,this),z("button",{class:"btn btn-primary",onClick:t,children:[z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H===0&&z("div",{class:"toolbar",children:[z("button",{class:"tbtn",onClick:(_)=>j6(_,J,Y,v),children:[z(i,{name:"sort",cls:"ico sm"},void 0,!1,void 0,this),"排序"]},void 0,!0,void 0,this),z("button",{class:"tbtn",children:[z(i,{name:"filter",cls:"ico sm"},void 0,!1,void 0,this),"筛选"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H===1?z(dZ,{props:J,records:X,onCommitValue:u,onCreate:h,onOpenRecord:A,onMove:g},void 0,!1,void 0,this):H===2?z(rZ,{props:J,records:X,onCommitValue:u,onCreate:h,onOpenRecord:A},void 0,!1,void 0,this):H===3?z(sZ,{props:J,records:X,onCommitValue:u,onCreate:h,onOpenRecord:A},void 0,!1,void 0,this):z("div",{class:"tablewrap",children:[z("div",{class:"tablescroll",children:z("table",{class:"grid",children:[z("colgroup",{children:[z("col",{style:{width:38}},void 0,!1,void 0,this),z("col",{style:{width:26}},void 0,!1,void 0,this),J.map((_)=>z("col",{"data-col-id":_.id,style:{width:O(_)}},_.id,!1,void 0,this)),z("col",{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("thead",{children:z("tr",{children:[z("th",{class:"selcell",children:z("input",{type:"checkbox",checked:F.size>0&&F.size===X.length,onChange:(_)=>U(_.target.checked?new Set(X.map((x)=>x.id)):new Set)},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("th",{class:"gripcol"},void 0,!1,void 0,this),J.map((_)=>z("th",{"data-col-id":_.id,children:[z("div",{class:"colhead",onPointerDown:(x)=>b(x,_),onClick:(x)=>{if(I.current){I.current=!1,x.preventDefault(),x.stopPropagation();return}I6(x,_,q.id,T,J)},children:[z("span",{class:"ti",children:z(i,{name:Dq[_.type]??"text",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"nm",children:_.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z(S6,{colId:_.id,startWidth:O(_),onCommit:(x)=>{Q((a)=>a.map((d)=>d.id===_.id?{...d,config:{...d.config??{},width:x}}:d)),Hq.setColumnWidth(_.id,x).catch((a)=>{$(String(a.message)),T().catch(()=>{})})}},void 0,!1,void 0,this)]},_.id,!0,void 0,this)),z("th",{class:"addcol",children:z("div",{class:"colhead",title:"新建属性",onClick:(_)=>x6(_,q.id,T),children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("tbody",{children:Fq.map((_,x)=>z("tr",{"data-row-id":_.id,class:F.has(_.id)?"sel":"",children:[z("td",{class:"selcell",children:z("input",{type:"checkbox",checked:F.has(_.id),onChange:()=>U((a)=>{let d=new Set(a);return d.has(_.id)?d.delete(_.id):d.add(_.id),d})},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("td",{class:"rowgrip",title:Y?"清除排序后可拖拽移动":"拖拽移动","aria-disabled":Y?"true":void 0,onPointerDown:(a)=>C(a,_),children:z(i,{name:"grip",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J.map((a,d)=>{let zq=Jq!=null&&x>=Jq.r0&&x<=Jq.r1&&d>=Jq.c0&&d<=Jq.c1,wq;if(zq&&Jq){let l=[];if(x===Jq.r0)l.push("inset 0 2px 0 0 var(--accent)");if(x===Jq.r1)l.push("inset 0 -2px 0 0 var(--accent)");if(d===Jq.c0)l.push("inset 2px 0 0 0 var(--accent)");if(d===Jq.c1)l.push("inset -2px 0 0 0 var(--accent)");wq=l.join(",")||void 0}return z("td",{class:"cell-td"+(zq?" cellsel":""),"data-r":x,"data-c":d,style:wq?{boxShadow:wq}:void 0,onPointerDown:(l)=>r(l,x,d),children:z(M6,{rec:_,prop:a,first:d===0,editing:y?.rec===_.id&&y?.prop===a.id,onEdit:()=>w({rec:_.id,prop:a.id}),onCancel:()=>w(null),onCommit:(l)=>u(_,a,l),onOpen:()=>A(_.id),onRowMenu:(l)=>D6(l,_,()=>A(_.id),()=>Qq(_),()=>D([_.id]))},void 0,!1,void 0,this)},a.id,!1,void 0,this)}),z("td",{class:"filler"},void 0,!1,void 0,this)]},_.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z("div",{class:"addrow",onClick:t,children:[z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this),"新建记录"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"gridfoot",children:[z("span",{children:["共 ",X.length," 条记录"]},void 0,!0,void 0,this),z("span",{children:[J.length," 个属性"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),F.size>0&&z("div",{class:"selbar",children:[z("span",{class:"cnt",children:[F.size," 已选"]},void 0,!0,void 0,this),z("button",{onClick:()=>R(async()=>{for(let _ of F)await Qq(X.find((x)=>x.id===_))}),children:[z(i,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),z("button",{class:"del",onClick:async()=>{if(await hq({title:"删除记录?",message:`确定删除选中的 ${F.size} 条记录?`,confirmLabel:"删除",danger:!0}))D([...F])},children:[z(i,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"删除"]},void 0,!0,void 0,this),z("button",{onClick:()=>U(new Set),children:z(i,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Jq&&(Jq.r0!==Jq.r1||Jq.c0!==Jq.c1)&&z("div",{class:"selbar cellselbar",children:[z("span",{class:"cnt",children:[(Jq.r1-Jq.r0+1)*(Jq.c1-Jq.c0+1)," 个单元格"]},void 0,!0,void 0,this),z("button",{onClick:$q,children:[z(i,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"复制"]},void 0,!0,void 0,this),z("button",{onClick:()=>s((_)=>Fq[Jq.r0].values[_.name]??null),children:[z(i,{name:"copy",cls:"ico sm"},void 0,!1,void 0,this),"填充"]},void 0,!0,void 0,this),z("button",{class:"del",onClick:()=>s(()=>null),children:[z(i,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this),"清空"]},void 0,!0,void 0,this),z("button",{onClick:()=>S(null),children:z(i,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),vq&&z(u6,{db:q,props:J,rec:vq,onClose:()=>A(null),onCommit:(_,x)=>u(vq,_,x),onDelete:()=>D([vq.id]),onDuplicate:()=>Qq(vq)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function M6({rec:q,prop:Z,first:$,editing:J,onEdit:Q,onCancel:X,onCommit:W,onOpen:H,onRowMenu:G}){let F=q.values[Z.name];if(Z.type==="checkbox")return z("div",{class:"cell center",children:z("input",{type:"checkbox",checked:!!F,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>W(!F)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(J&&(Z.type==="select"||Z.type==="multi_select"));if(J&&Z.type!=="select"&&Z.type!=="multi_select"){let v=Array.isArray(F)?F.join(", "):F==null?"":String(F);return z("div",{class:"cell",children:z("input",{class:"inlineedit",type:Z.type==="number"?"number":Z.type==="date"?"date":"text",value:v,autofocus:!0,onBlur:(y)=>W(S9(Z.type,y.target.value)),onKeyDown:(y)=>{if(y.key==="Enter")y.target.blur();if(y.key==="Escape")X()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)}let U=(v)=>{if(Z.type==="select"||Z.type==="multi_select")Z8(v,Z,F,W);else Q()},Y=z(Y0,{prop:Z,val:F},void 0,!1,void 0,this);if($)return z("div",{class:"cell",onDblClick:U,onContextMenu:(v)=>{v.preventDefault(),G(v)},children:z("div",{class:"firstcell",children:[Y,z("div",{class:"rowactions",children:z("button",{class:"rowopen",title:"打开",onClick:(v)=>{v.stopPropagation(),H()},children:z(i,{name:"openPeek",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return z("div",{class:"cell",onDblClick:U,children:Y},void 0,!1,void 0,this)}function oZ(q,Z,$,J){let Q=[...q],X=Q.findIndex((G)=>G.id===Z);if(X<0)return q;let W=Q.splice(X,1)[0],H=Q.findIndex((G)=>G.id===$);if(H<0)return q;if(J==="after")H+=1;return Q.splice(H,0,W),Q}function R9(){document.querySelectorAll("table.grid tr.drop-before,table.grid tr.drop-after").forEach((q)=>q.classList.remove("drop-before","drop-after"))}function _6(q,Z){R9();let $=q.getBoundingClientRect(),J=Z<$.top+$.height/2?"before":"after";return q.classList.add(J==="before"?"drop-before":"drop-after"),J}function x9(){document.querySelectorAll("table.grid th.drop-before,table.grid th.drop-after").forEach((q)=>q.classList.remove("drop-before","drop-after"))}function N6(q,Z){x9();let $=q.getBoundingClientRect(),J=Z<$.left+$.width/2?"before":"after";return q.classList.add(J==="before"?"drop-before":"drop-after"),J}function f6(q,Z,$){let J=document.elementFromPoint(Z,$)?.closest?.("tr[data-row-id]");if(!J||J.dataset.rowId===q.id){R9(),q.targetId=null;return}q.targetId=J.dataset.rowId??null,q.where=_6(J,$)}function k6(q,Z,$){let J=document.elementFromPoint(Z,$)?.closest?.("th[data-col-id]");if(!J||J.dataset.colId===q.id){x9(),q.targetId=null;return}q.targetId=J.dataset.colId??null,q.where=N6(J,Z)}function eZ(q,Z,$){if(!q)return;q.style.transform=`translate3d(${Math.round(Z)}px, ${Math.round($)}px, 0)`}function g6(q){let Z=q.getBoundingClientRect(),$=document.createElement("div");$.className="drag-ghost row-ghost",$.style.width=`${Z.width}px`,$.style.height=`${Z.height}px`;let J=Array.from(q.querySelectorAll("td")).map((Q)=>(Q.textContent??"").trim()).filter(Boolean).join(" ");return $.textContent=J||"移动记录",document.body.appendChild($),$}function b6(q){let Z=q.getBoundingClientRect(),$=document.createElement("div");return $.className="drag-ghost col-ghost",$.style.width=`${Z.width}px`,$.style.height=`${Z.height}px`,$.textContent=q.textContent?.trim()||"移动属性",document.body.appendChild($),$}function S6({colId:q,startWidth:Z,onCommit:$}){return z("div",{class:"col-resizer",onPointerDown:(Q)=>{Q.preventDefault(),Q.stopPropagation();let X=Q.currentTarget,W=document.querySelector(`col[data-col-id="${CSS.escape(q)}"]`),H=Q.clientX,G=Z,F=0;X.classList.add("dragging"),document.body.classList.add("col-resizing");let U=()=>{if(F=0,W)W.style.width=G+"px"},Y=(y)=>{if(G=Math.max(80,Z+y.clientX-H),!F)F=requestAnimationFrame(U)},v=()=>{if(F)cancelAnimationFrame(F);if(W)W.style.width=G+"px";removeEventListener("pointermove",Y),removeEventListener("pointerup",v),removeEventListener("pointercancel",v),X.classList.remove("dragging"),document.body.classList.remove("col-resizing"),$(G)};addEventListener("pointermove",Y,{passive:!1}),addEventListener("pointerup",v),addEventListener("pointercancel",v)}},void 0,!1,void 0,this)}function Z8(q,Z,$,J){q.stopPropagation();let Q=Z.type==="multi_select",X=Z.config?.options??[];Aq(q,(W)=>z(T6,{multi:Q,options:X,value:$,onPick:(H)=>{if(J(H),!Q)W()}},void 0,!1,void 0,this))}function T6({multi:q,options:Z,value:$,onPick:J}){let[Q,X]=e($),W=(G)=>q?Array.isArray(Q)?Q.includes(G):!1:Q===G,H=(G)=>{if(q){let F=new Set(Array.isArray(Q)?Q:[]);F.has(G)?F.delete(G):F.add(G);let U=[...F];X(U),J(U)}else X(G),J(G)};return z(qq,{children:[z(bq,{children:q?"多选 — 点选切换":"单选"},void 0,!1,void 0,this),Z.map((G)=>z("button",{class:"item",onClick:()=>H(G),children:[z(Z0,{text:G},void 0,!1,void 0,this),W(G)&&z("span",{class:"chk",children:z(i,{name:"check",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},G,!0,void 0,this)),q&&Array.isArray(Q)&&Q.length>0&&z(qq,{children:[z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"x",label:"清空",onClick:()=>{X([]),J([])}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function I6(q,Z,$,J,Q){q.stopPropagation(),Aq(q,(X)=>z(R6,{prop:Z,dbId:$,reload:J,close:X,allProps:Q},void 0,!1,void 0,this),{minWidth:252})}function R6({prop:q,dbId:Z,reload:$,close:J,allProps:Q}){let[X,W]=e(q.name),[H,G]=e(q.type),[F,U]=e(q.config?.options??[]),Y=(w)=>Hq.updateProperty(q.id,w).then($).catch(()=>{}),v=(w)=>{G(w);let V=F;if((w==="select"||w==="multi_select")&&V.length===0)V=["选项 1","选项 2"],U(V);Y({type:w,...w==="select"||w==="multi_select"?{config:{options:V}}:{}})},y=(w)=>{U(w),Y({config:{options:w}})};return z(qq,{children:[z("input",{class:"field",value:X,onInput:(w)=>W(w.target.value),onBlur:()=>X&&X!==q.name&&Y({name:X}),onKeyDown:(w)=>{if(w.key==="Enter")w.target.blur(),J()}},void 0,!1,void 0,this),z(bq,{children:"属性类型"},void 0,!1,void 0,this),z("div",{class:"typegrid",children:Object.keys(G0).map((w)=>z("button",{class:"item"+(w===H?" sel":""),onClick:()=>v(w),children:[z("span",{class:"lico",children:z(i,{name:Dq[w],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"d",children:G0[w].t},void 0,!1,void 0,this)]},w,!0,void 0,this))},void 0,!1,void 0,this),(H==="select"||H==="multi_select")&&z(qq,{children:[z(Nq,{},void 0,!1,void 0,this),z(bq,{children:"选项"},void 0,!1,void 0,this),F.map((w,V)=>z("div",{class:"optrow",children:[z(Z0,{text:w},void 0,!1,void 0,this),z("button",{class:"x",onClick:()=>y(F.filter((A,f)=>f!==V)),children:z(i,{name:"x",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},w+V,!0,void 0,this)),z(Zq,{icon:"plus",label:"添加选项",onClick:()=>y([...F,"选项 "+(F.length+1)])},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{J(),Hq.createProperty({db:Z,name:"新属性",type:"text"}).then($)}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"trash",label:"删除属性",danger:!0,onClick:async()=>{if(J(),await hq({title:"删除属性?",message:`「${q.name}」及其所有单元格数据将被移除。`,confirmLabel:"删除",danger:!0}))Hq.deleteProperty(q.id).then($)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function x6(q,Z,$){q.stopPropagation(),Aq(q,(J)=>z(qq,{children:[z(bq,{children:"新建属性 · 选择类型"},void 0,!1,void 0,this),z("div",{class:"typegrid",children:Object.keys(G0).map((Q)=>z("button",{class:"item",onClick:()=>{J();let X=Q==="select"||Q==="multi_select"?{options:["选项 1","选项 2"]}:void 0;Hq.createProperty({db:Z,name:G0[Q].t,type:Q,config:X}).then($).catch(()=>{})},children:[z("span",{class:"lico",children:z(i,{name:Dq[Q],cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"d",children:G0[Q].t},void 0,!1,void 0,this)]},Q,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function j6(q,Z,$,J){Aq(q,(Q)=>z(qq,{children:[z(bq,{children:"排序依据"},void 0,!1,void 0,this),Z.map((X)=>z(Zq,{icon:Dq[X.type],label:X.name,onClick:()=>{J({name:X.name,desc:$?.name===X.name?!$.desc:!1}),Q()}},X.id,!1,void 0,this)),$&&z(qq,{children:[z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"x",label:"清除排序",onClick:()=>{J(null),Q()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this))}function D6(q,Z,$,J,Q){q.stopPropagation(),Aq(q,(X)=>z(qq,{children:[z(Zq,{icon:"cornerUpRight",label:"打开记录",onClick:()=>{X(),$()}},void 0,!1,void 0,this),z(Zq,{icon:"copy",label:"复制记录",onClick:()=>{X(),J()}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(X(),await hq({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))Q()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))}function u6({db:q,props:Z,rec:$,onClose:J,onCommit:Q,onDelete:X,onDuplicate:W}){let[H,G]=e(null),F=Z[0];return z(qq,{children:[z("div",{class:"scrim open",onClick:J},void 0,!1,void 0,this),z("div",{class:"peek open",children:[z("div",{class:"peek-head",children:[z("button",{class:"iconbtn",onClick:J,children:z(i,{name:"x"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{style:{flex:1}},void 0,!1,void 0,this),z("button",{class:"iconbtn",title:"更多",onClick:(U)=>Aq(U,(Y)=>z(qq,{children:[z(Zq,{icon:"copy",label:"复制记录",onClick:()=>{Y(),W()}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"trash",label:"删除记录",danger:!0,onClick:async()=>{if(Y(),await hq({title:"删除记录?",message:"确定删除这条记录?",confirmLabel:"删除",danger:!0}))X()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)),children:z(i,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"peek-body",children:[z("h2",{contentEditable:!0,onBlur:(U)=>F&&Q(F,U.target.textContent??""),children:F?String($.values[F.name]??"无标题"):"无标题"},void 0,!1,void 0,this),Z.map((U)=>z("div",{class:"proprow",children:[z("div",{class:"k",children:[z(i,{name:Dq[U.type]??"text",cls:"ico sm"},void 0,!1,void 0,this),z("span",{children:U.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z(h6,{prop:U,rec:$,editing:H===U.id,onEdit:()=>G(U.id),onCommit:(Y)=>{Q(U,Y),G(null)}},void 0,!1,void 0,this)]},U.id,!0,void 0,this)),z("div",{class:"peek-divider"},void 0,!1,void 0,this),z("div",{class:"muted",style:{fontSize:12,fontWeight:600,marginBottom:8},children:"页面正文"},void 0,!1,void 0,this),z("div",{class:"editable",contentEditable:!0,"data-ph":"记录也可拥有自己的块级正文…",style:{minHeight:90},children:"每条记录都可作为页面打开,并拥有块级正文。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function h6({prop:q,rec:Z,editing:$,onEdit:J,onCommit:Q}){let X=Z.values[q.name];if(q.type==="checkbox")return z("div",{class:"v",children:z("input",{type:"checkbox",checked:!!X,style:{width:16,height:16,accentColor:"var(--accent)"},onChange:()=>Q(!X)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(q.type==="select"||q.type==="multi_select")return z("div",{class:"v",onClick:(W)=>Z8(W,q,X,Q),children:z(Y0,{prop:q,val:X},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($){let W=Array.isArray(X)?X.join(", "):X==null?"":String(X);return z("div",{class:"v",children:z("input",{class:"inlineedit",type:q.type==="number"?"number":q.type==="date"?"date":"text",value:W,autofocus:!0,onBlur:(H)=>Q(S9(q.type,H.target.value)),onKeyDown:(H)=>{if(H.key==="Enter")H.target.blur()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)}return z("div",{class:"v",onClick:J,children:z(Y0,{prop:q,val:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var Y5=d5(K5(),1);var J9=Y5.default;var n7=0;function iq(){return`blk_${Date.now().toString(36)}_${(n7++).toString(36)}`}var r7=new Set(["bullet","numbered","todo"]),rq={fenceOpen:/^\s*(`{3,}|~{3,})\s*([^\s`]*)?.*$/,h:/^(#{1,3})\s+(.*)$/,todo:/^\s*[-*+]\s+\[([ xX])\]\s*(.*)$/,bullet:/^\s*[-*+]\s+(.*)$/,numbered:/^\s*(\d+)[.)]\s+(.*)$/,quote:/^>\s?(.*)$/,divider:/^\s*(?:-{3,}|\*{3,}|_{3,})\s*$/};function uq(q){return r7.has(q)}function U5(q){return C5(q,0,1).join(`
|
|
9
|
+
`)}function Q9(q){let Z=(q??"").replace(/\r\n?/g,`
|
|
10
|
+
`),$=Z?Z.split(`
|
|
11
|
+
`):[],J=B5($,0,0).blocks;return y5(J),J}function d9(q){let Z=new Map,$=null;for(let J of q)if(J.type==="numbered")$=$===null?Math.max(1,J.start??1):$+1,Z.set(J.id,$);else $=null;return Z}function y5(q){let Z=!0;for(let $ of q){if($.type==="numbered")if(Z){if(($.start??1)<=1)delete $.start;Z=!1}else delete $.start;else Z=!0;if($.children)y5($.children)}}function w5(q){return v5(q,0).join(`
|
|
12
|
+
`).replace(/\n+$/,"")}function n9(q,Z){if(Z===" "){if(q==="# ")return{type:"h1",content:""};if(q==="## ")return{type:"h2",content:""};if(q==="### ")return{type:"h3",content:""};if(q==="> ")return{type:"quote",content:""};if(/^[-*+] $/.test(q))return{type:"bullet",content:""};let J=q.match(/^(\d+)[.)] $/);if(J)return{type:"numbered",content:"",start:parseInt(J[1],10)};let Q=q.match(/^[-*+]\s+\[([ xX])\]\s$/);if(Q)return{type:"todo",content:"",checked:Q[1].toLowerCase()==="x"};return null}let $=q.match(/^```([A-Za-z0-9_+.#-]*)$/);if($)return{type:"code",content:"",lang:t9($[1]??"")};return null}function B5(q,Z,$){let J=[],Q=Z;while(Q<q.length){let X=q[Q];if(X.trim()===""){Q++;continue}if(Q0(X)<$)break;let W=t7(q,Q,$)??Z$(q,Q,$)??l7(q,Q,$);J.push(W.block),Q=W.next}return{blocks:J,next:Q}}function t7(q,Z,$){let J=L5(q[Z],$);if(!J)return null;let Q={id:iq(),type:J.type,content:J.content};if(J.type==="todo")Q.checked=!!J.checked;if(J.type==="numbered"&&J.num!=null)Q.start=J.num;let X=B5(q,Z+1,J.indent+2);if(X.blocks.length)Q.children=X.blocks;return{block:Q,next:X.next}}function l7(q,Z,$){let J=pq(q[Z],$),Q=J.match(rq.fenceOpen);if(Q)return s7(q,Z,$,Q);if(rq.divider.test(J.trim()))return{block:{id:iq(),type:"divider",content:""},next:Z+1};let X=J.match(rq.h);if(X)return{block:{id:iq(),type:`h${X[1].length}`,content:X[2]},next:Z+1};if(rq.quote.test(J))return o7(q,Z,$);return z$(q,Z,$)}function s7(q,Z,$,J){let Q=J[1],X=[],W=Z+1;for(;W<q.length;W++){let H=q[W],G=pq(H,$);if(H$(G,Q[0],Q.length)){W++;break}X.push(G)}return{block:{id:iq(),type:"code",content:X.join(`
|
|
13
|
+
`),lang:t9(J[2]??"")},next:W}}function o7(q,Z,$){let J=[],Q=Z;for(;Q<q.length;Q++){let X=q[Q];if(X.trim()===""||Q0(X)<$)break;let W=pq(X,$).match(rq.quote);if(!W)break;J.push(W[1]??"")}return{block:{id:iq(),type:"quote",content:J.join(`
|
|
14
|
+
`)},next:Q}}var e7=/^\s*:?-+:?\s*$/;function P5(q,Z,$){let J=q[Z],Q=q[Z+1];if(J==null||Q==null)return!1;if(Q0(J)<$||Q0(Q)<$)return!1;let X=pq(J,$),W=pq(Q,$);if(!X.includes("|")||!W.includes("|"))return!1;let H=z9(W);return H.length>0&&H.every((G)=>e7.test(G))}function z9(q){let Z=[],$="";for(let J=0;J<q.length;J++){let Q=q[J];if(Q==="\\"&&q[J+1]==="|"){$+="|",J++;continue}if(Q==="|"){Z.push($),$="";continue}$+=Q}if(Z.push($),Z.length&&Z[0].trim()==="")Z.shift();if(Z.length&&Z[Z.length-1].trim()==="")Z.pop();return Z.map((J)=>J.trim())}function q$(q){let Z=q.trim(),$=Z.startsWith(":"),J=Z.endsWith(":");if($&&J)return"center";if(J)return"right";if($)return"left";return null}function a9(q,Z){let $=q.slice(0,Z);while($.length<Z)$.push("");return $}function Z$(q,Z,$){if(!P5(q,Z,$))return null;let J=z9(pq(q[Z],$)),Q=Math.max(1,J.length),X=z9(pq(q[Z+1],$)).map(q$),W=[a9(J,Q)],H=Z+2;for(;H<q.length;H++){let G=q[H];if(G.trim()===""||Q0(G)<$)break;let F=pq(G,$);if(!F.includes("|"))break;W.push(a9(z9(F),Q))}while(X.length<Q)X.push(null);return X.length=Q,{block:{id:iq(),type:"table",content:"",rows:W,align:X},next:H}}function $$(q){switch(q){case"left":return":---";case"center":return":---:";case"right":return"---:";default:return"---"}}function J$(q,Z){let $=" ".repeat(Z),J=q.rows??[],Q=Math.max(1,...J.map((U)=>U.length)),X=q.align??[],W=(U)=>U.replace(/\|/g,"\\|").replace(/\n/g," "),H=(U)=>`${$}| ${a9(U,Q).map(W).join(" | ")} |`,G=`${$}| ${Array.from({length:Q},(U,Y)=>$$(X[Y]??null)).join(" | ")} |`,F=J[0]??Array.from({length:Q},()=>"");return[H(F),G,...J.slice(1).map(H)]}function z$(q,Z,$){let J=[],Q=Z;for(;Q<q.length;Q++){let X=q[Q];if(X.trim()===""||Q0(X)<$)break;if(J.length&&(Q$(X,$)||P5(q,Q,$)))break;J.push(pq(X,$))}return{block:{id:iq(),type:"p",content:J.join(`
|
|
15
|
+
`)},next:Q}}function Q$(q,Z){if(L5(q,Z))return!0;let $=pq(q,Z);return!!$.match(rq.fenceOpen)||!!$.match(rq.h)||rq.divider.test($.trim())||rq.quote.test($)}function L5(q,Z){let $=Q0(q);if($<Z)return null;let J=pq(q,$),Q=J.match(/^[-*+]\s+\[([ xX])\]\s*(.*)$/);if(Q)return{indent:$,type:"todo",checked:Q[1].toLowerCase()==="x",content:Q[2]};if(Q=J.match(/^(\d+)[.)]\s+(.*)$/),Q)return{indent:$,type:"numbered",content:Q[2],num:parseInt(Q[1],10)};if(Q=J.match(/^[-*+]\s+(.*)$/),Q)return{indent:$,type:"bullet",content:Q[1]};return null}function v5(q,Z){let $=[],J=null,Q=(q??[]).filter(r9),X=d9(Q);for(let W of Q){if($.length&&W$(J,W))$.push("");$.push(...C5(W,Z,X.get(W.id)??1)),J=W}return $}function C5(q,Z,$){let J=" ".repeat(Z);switch(q.type){case"h1":return[`${J}# ${q.content}`];case"h2":return[`${J}## ${q.content}`];case"h3":return[`${J}### ${q.content}`];case"bullet":case"numbered":case"todo":return X$(q,Z,$);case"quote":return q.content.split(`
|
|
16
|
+
`).map((Q)=>`${J}>${Q?` ${Q}`:""}`);case"code":{let Q=`${J}\`\`\`${q.lang?t9(q.lang):""}`,X=q.content.split(`
|
|
17
|
+
`).map((W)=>`${J}${W}`);return[Q,...X,`${J}\`\`\``]}case"table":return J$(q,Z);case"divider":return[`${J}---`];default:return q.content.split(`
|
|
18
|
+
`).map((Q)=>`${J}${Q}`)}}function X$(q,Z,$){let J=" ".repeat(Z),Q=q.type==="numbered"?`${$}. `:q.type==="todo"?`- [${q.checked?"x":" "}] `:"- ",X=[`${J}${Q}${q.content}`],W=(q.children??[]).filter(r9);if(W.length){if(!uq(W[0].type)&&q.content.trim()!=="")X.push("");X.push(...v5(W,Z+2))}return X}function W$(q,Z){if(!q)return!1;return!(uq(q.type)&&uq(Z.type))}function r9(q){if(q.type==="divider")return!0;if(uq(q.type))return q.content.trim()!==""||(q.children??[]).some(r9);if(q.type==="code")return q.content.trim()!==""||!!q.lang?.trim();if(q.type==="table")return(q.rows??[]).some((Z)=>Z.some(($)=>$.trim()!==""));return q.content.trim()!==""}function Q0(q){let Z=0;for(let $ of q)if($===" ")Z++;else if($==="\t")Z+=4;else break;return Z}function pq(q,Z){let $=0,J=0;for(;J<q.length&&$<Z;J++){let Q=q[J];if(Q===" ")$++;else if(Q==="\t")$+=4;else break}return q.slice(J)}function H$(q,Z,$){let J=q.trim();if(!J||J[0]!==Z)return!1;for(let Q of J)if(Q!==Z)return!1;return J.length>=$}function t9(q){return q.trim().replace(/[^A-Za-z0-9_+.#-]/g,"")}var l9=[{id:"",label:"纯文本"},{id:"bash",label:"Bash"},{id:"shell",label:"Shell"},{id:"javascript",label:"JavaScript"},{id:"typescript",label:"TypeScript"},{id:"json",label:"JSON"},{id:"python",label:"Python"},{id:"go",label:"Go"},{id:"rust",label:"Rust"},{id:"java",label:"Java"},{id:"c",label:"C"},{id:"cpp",label:"C++"},{id:"csharp",label:"C#"},{id:"sql",label:"SQL"},{id:"yaml",label:"YAML"},{id:"xml",label:"HTML / XML"},{id:"css",label:"CSS"},{id:"scss",label:"SCSS"},{id:"markdown",label:"Markdown"},{id:"php",label:"PHP"},{id:"ruby",label:"Ruby"},{id:"swift",label:"Swift"},{id:"kotlin",label:"Kotlin"},{id:"objectivec",label:"Objective-C"},{id:"perl",label:"Perl"},{id:"lua",label:"Lua"},{id:"makefile",label:"Makefile"},{id:"ini",label:"INI / TOML"},{id:"diff",label:"Diff"}],s9=[{type:"p",ic:"text",t:"文本",d:"普通段落"},{type:"h1",ic:"heading",t:"标题 1",d:"大号标题"},{type:"h2",ic:"heading",t:"标题 2",d:"中号标题"},{type:"h3",ic:"heading",t:"标题 3",d:"小号标题"},{type:"bullet",ic:"list",t:"无序列表",d:"项目符号"},{type:"numbered",ic:"numList",t:"有序列表",d:"编号列表"},{type:"todo",ic:"checkbox",t:"待办清单",d:"复选项"},{type:"quote",ic:"quote",t:"引用",d:"引用块"},{type:"code",ic:"code",t:"代码",d:"代码块"},{type:"table",ic:"table",t:"表格",d:"插入表格"},{type:"divider",ic:"minus",t:"分隔线",d:"水平分隔"}];function Vq(q,Z,$=null){for(let J=0;J<q.length;J++){let Q=q[J];if(Q.id===Z)return{block:Q,parent:q,index:J,parentBlock:$};let X=Q.children?Vq(Q.children,Z,Q):null;if(X)return X}return null}function o9(q){let Z=0;for(let $ of q)Z+=1+o9($.children??[]);return Z}function X9(q){return{...q,id:iq(),children:q.children?.map(X9)}}function e9(q,Z){for(let $ of q??[])if($.id===Z||e9($.children,Z))return!0;return!1}function tq(q,Z=[]){for(let $ of q)if(Z.push($),$.children)tq($.children,Z);return Z}function W9(q,Z){let $=null,J=null,Q=(X)=>{for(let W of X){if(W.id===Z){J=$;return}if($=W,W.children)Q(W.children);if(J)return}};return Q(q),J}function qZ(q,Z){let $=tq(q),J=$.findIndex((Q)=>Q.id===Z);return J>=0&&J+1<$.length?$[J+1]:null}function H9(q,Z){let $=Vq(q,Z);if(!$)return null;let[J]=$.parent.splice($.index,1);if($.parent.length===0&&$.parentBlock)delete $.parentBlock.children;return J??null}function A5(q,Z,$,J){if(Z===$)return!1;let Q=Vq(q,Z),X=Vq(q,$);if(!Q||!X||e9(Q.block.children,$))return!1;let W=Q.parent.splice(Q.index,1)[0],H=Vq(q,$);if(!H)return Q.parent.splice(Q.index,0,W),!1;if(Q.parent.length===0&&Q.parentBlock)delete Q.parentBlock.children;return H.parent.splice(H.index+(J==="after"?1:0),0,W),!0}function ZZ(q,Z){let $=Vq(q,Z);if(!$||$.index===0)return!1;let J=$.parent[$.index-1];if(!uq(J.type))return!1;let Q=$.parent.splice($.index,1)[0];return J.children??=[],J.children.push(Q),!0}function F9(q,Z){let $=Vq(q,Z);if(!$?.parentBlock)return!1;let J=Vq(q,$.parentBlock.id);if(!J)return!1;let Q=$.parent.splice($.index);if(!Q.length)return!1;if($.parent.length===0)delete $.parentBlock.children;return J.parent.splice(J.index+1,0,...Q),!0}function L0(q,Z){let $=new Set(Z),J=[],Q=(X,W)=>{for(let H of X){let G=$.has(H.id);if(G&&!W)J.push(H.id);if(H.children)Q(H.children,W||G)}};return Q(q,!1),J}function O5(q,Z,$){let J=tq(q),Q=J.findIndex((G)=>G.id===Z),X=J.findIndex((G)=>G.id===$);if(Q<0||X<0)return[];let[W,H]=Q<=X?[Q,X]:[X,Q];return J.slice(W,H+1).map((G)=>G.id)}function V5(q,Z){if(!Z.length)return null;let $=new Set(Z),J=tq(q),Q=J.findIndex((W)=>$.has(W.id));if(Q<0)return null;let X=null;for(let W=Q-1;W>=0;W--)if(!$.has(J[W].id)){X=J[W].id;break}if(!X){for(let W=Q+1;W<J.length;W++)if(!$.has(J[W].id)){X=J[W].id;break}}for(let W of L0(q,Z))H9(q,W);if(X&&!Vq(q,X))X=null;return X??tq(q)[0]?.id??null}function M5(q,Z){let $=L0(q,Z);if(!$.length)return[];let J=[];for(let X of $){let W=Vq(q,X);if(W)J.push(X9(W.block))}let Q=Vq(q,$[$.length-1]);if(!Q||!J.length)return[];return Q.parent.splice(Q.index+1,0,...J),J.map((X)=>X.id)}function _5(q,Z,$,J){let Q=L0(q,Z);if(!Q.length||Q.includes($))return!1;for(let H of Q){let G=Vq(q,H);if(G&&e9(G.block.children,$))return!1}let X=[];for(let H of Q){let G=H9(q,H);if(G)X.push(G)}let W=Vq(q,$);if(!W)return q.push(...X),!1;return W.parent.splice(W.index+(J==="after"?1:0),0,...X),!0}function N5(q,Z){return L0(q,Z).map(($)=>{let J=Vq(q,$);return J?U5(J.block):""}).filter(Boolean).join(`
|
|
19
|
+
`)}function f5(q,Z){let $=[];for(let J of L0(q,Z))if(ZZ(q,J))$.push(J);return $}function k5(q,Z){let $=[];for(let J of L0(q,Z))if(F9(q,J))$.push(J);return $}function G9(q){return q.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var g5=String.fromCharCode(57344),b5=String.fromCharCode(57345),F$=new RegExp(g5+"(\\d+)"+b5,"g");function K9(q){let Z=[],$=q.replace(/`([^`]+)`/g,(J,Q)=>{return Z.push(Q),g5+(Z.length-1)+b5});return $=G9($),$=$.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,(J,Q,X)=>{return`<a href="${String(X).replace(/"/g,""")}" target="_blank" rel="noreferrer">${Q}</a>`}),$=$.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>"),$=$.replace(/(^|[^*])\*([^*\n]+)\*/g,"$1<em>$2</em>"),$=$.replace(F$,(J,Q)=>`<code>${G9(Z[+Q]??"")}</code>`),$}function b0(q){let Z=document.createElement("div");return Z.innerHTML=q,S5(Z).replace(/\n{3,}/g,`
|
|
20
|
+
|
|
21
|
+
`)}function S5(q){let Z="";return q.childNodes.forEach(($)=>{if($.nodeType===Node.TEXT_NODE){Z+=$.textContent??"";return}if(!($ instanceof HTMLElement))return;let J=$.tagName.toLowerCase(),Q=S5($);if(J==="br")Z+=`
|
|
22
|
+
`;else if(J==="strong"||J==="b")Z+=Q?`**${Q}**`:"";else if(J==="em"||J==="i")Z+=Q?`*${Q}*`:"";else if(J==="code")Z+=Q?"`"+Q+"`":"";else if(J==="a"){let X=$.getAttribute("href")||"";Z+=X?`[${Q}](${X})`:Q}else if(J==="div"||J==="p")Z+=(Z&&!Z.endsWith(`
|
|
23
|
+
`)?`
|
|
24
|
+
`:"")+Q;else Z+=Q}),Z}function G$(q,Z){let $;try{$=Z&&J9.getLanguage(Z)?J9.highlight(q,{language:Z,ignoreIllegals:!0}).value:J9.highlightAuto(q).value}catch{$=G9(q)}return q.endsWith(`
|
|
25
|
+
`)?$+`
|
|
26
|
+
`:$}function R5({docId:q,onTitleChange:Z,onError:$,onModeChange:J,onHandle:Q}){let X=yq([]),W=yq(""),H=yq(null),G=yq(""),[F,U]=e("blocks"),[Y,v]=e(0),[y,w]=e(!0),[V,A]=e(null),[f,S]=e(null),[O,B]=e(null),N=yq(),P=yq({past:[],future:[],present:null,lastKey:null,lastTime:0}),I=()=>({blocks:structuredClone(X.current),title:G.current,focusId:C$()}),R=(K)=>{let L=P.current;if(!L.present){L.present=I(),L.lastKey=K,L.lastTime=Date.now();return}let p=Date.now();if(K&&K===L.lastKey&&p-L.lastTime<600){L.present=I(),L.lastTime=p;return}if(L.past.push(L.present),L.past.length>200)L.past.shift();L.present=I(),L.future=[],L.lastKey=K,L.lastTime=p},T=(K)=>{if(X.current=structuredClone(K.blocks),G.current=K.title,B(null),v((L)=>L+1),D(),K.focusId)requestAnimationFrame(()=>fq(K.focusId,!0))},u=()=>{let K=P.current;if(!K.past.length)return;if(K.present)K.future.push(K.present);let L=K.past.pop();K.present=L,K.lastKey=null,T(L)},h=()=>{let K=P.current;if(!K.future.length)return;if(K.present)K.past.push(K.present);let L=K.future.pop();K.present=L,K.lastKey=null,T(L)},t=()=>{R(null),v((K)=>K+1)};gq(()=>{return w(!0),A(null),P.current={past:[],future:[],present:null,lastKey:null,lastTime:0},Hq.getDocument(q).then((K)=>{G.current=K.title??"",W.current=K.body??"",X.current=Q9(K.body),w(!1),t()}).catch((K)=>$(String(K.message))),()=>clearTimeout(N.current)},[q]);let D=()=>{clearTimeout(N.current),N.current=setTimeout(Yq,700)},Qq=()=>{if(F==="source")return W.current=H.current?.value??W.current,W.current;return X0(X.current),w5(X.current)},Yq=()=>Hq.updateDocument(q,{title:G.current,body:Qq()}).then(()=>Z()).catch((K)=>$(String(K.message))),g=async()=>{clearTimeout(N.current),await Yq()},M=(K)=>{if(K===F)return;if(K==="source"){W.current=Qq(),A(null),S(null),B(null),U("source"),J?.("source"),requestAnimationFrame(()=>{if(H.current)H.current.value=W.current,I5(H.current),H.current.focus()});return}W.current=H.current?.value??W.current,X.current=Q9(W.current),U("blocks"),J?.("blocks"),v((L)=>L+1),requestAnimationFrame(()=>{let L=tq(X.current)[0];if(L)fq(L.id)})};gq(()=>{return Q?.({getMode:()=>F,setMode:M,snapshotMarkdown:Qq,flushSave:g}),()=>Q?.(null)},[Q,F]);let C=X.current,b=O?O5(C,O.anchorId,O.focusId):[],r=(K,L="p",p={})=>{let k=JZ(L,p);if(!K)C.push(k);else{let j=Vq(C,K);if(j)j.parent.splice(j.index+1,0,k);else C.push(k)}return t(),requestAnimationFrame(()=>fq(k.id)),D(),k},s=(K,L,p={})=>{let j=Vq(C,K)?.block;if(!j)return;let Wq=uq(L)?j.children:void 0;if(j.type=L,j.content=p.content??"",L==="todo")j.checked=p.checked??!1;else delete j.checked;if(L==="code")j.lang=p.lang??"";else delete j.lang;if(L==="numbered"&&p.start!=null&&p.start>1)j.start=p.start;else delete j.start;if(L==="table")j.rows=p.rows?p.rows.map((Uq)=>[...Uq]):x5(),j.align=p.align?[...p.align]:new Array(j.rows[0].length).fill(null);else delete j.rows,delete j.align;if(Wq?.length)j.children=Wq;else delete j.children;if(t(),L!=="divider"&&L!=="table")requestAnimationFrame(()=>fq(K));D()},$q=(K)=>{if(!H9(C,K))return;t(),D()},Fq=(K,L)=>{K.content=XZ(K,L),R("text:"+K.id);let p=L.textContent??"";if(p.startsWith("/")){let k=O$();A((j)=>({blockId:K.id,x:k.x,y:k.y,query:p.slice(1),idx:j?.blockId===K.id?j.idx:0}))}else if(V)A(null);D()},vq=(K,L,p)=>{let k=(K.clipboardData?.getData("text/plain")??"").replace(/\r\n?/g,`
|
|
27
|
+
`);if(!k)return;K.preventDefault();let j=Q9(k);if(!j.length)return;let Wq=Vq(C,L.id);if(!Wq)return;let{before:Uq,after:Tq}=_$(p);if(j.length===1&&j[0].type==="p"&&(Uq.trim()!==""||Tq.trim()!=="")){L.content=Uq+j[0].content+Tq;let p5=N$(Uq+j[0].content);t(),D(),requestAnimationFrame(()=>f$(L.id,p5));return}let jq=[...j],lq=Tq.trim()!==""?JZ("p",{content:Tq}):null;if(lq)jq.push(lq);if(Uq.trim()===""&&!Wq.block.children?.length)Wq.parent.splice(Wq.index,1,...jq);else L.content=Uq,Wq.parent.splice(Wq.index+1,0,...jq);t(),D();let U9=lq??jq[jq.length-1];requestAnimationFrame(()=>fq(U9.id,!lq))},Jq=V?s9.filter((K)=>(K.t+K.type+K.d).toLowerCase().includes(V.query.toLowerCase())):[],_=(K)=>{if(!V)return;s(V.blockId,K.type),A(null)},x=(K,L)=>{s(K.id,L.type,L),A(null)},a=(K,L)=>{K.content="",K.children??=[];let p=JZ(L.type,L);K.children.unshift(p),A(null),t(),requestAnimationFrame(()=>fq(p.id)),D()},d=(K)=>{if(X0(C),!ZZ(C,K))return;t(),requestAnimationFrame(()=>fq(K)),D()},zq=(K)=>{if(X0(C),!F9(C,K))return;t(),requestAnimationFrame(()=>fq(K)),D()},wq=(K)=>{let L=K==="createLink"?prompt("链接地址"):null;if(K==="createLink"&&!L)return;if(K==="code")P$();else document.execCommand(K,!1,L??void 0);A$(C),D(),$Z(S)},l=()=>B(null),E=()=>{let K=tq(C);if(!K.length)return;Y9(),B({anchorId:K[0].id,focusId:K[K.length-1].id})},c=(K)=>{X0(C);let L=V5(C,K);if(l(),t(),L)requestAnimationFrame(()=>fq(L,!0));D()},Cq=(K,L)=>{if(X0(C),!(L==="indent"?f5(C,K):k5(C,K)).length)return;t(),D()},Gq=(K)=>{X0(C);let L=M5(C,K);if(L.length)B({anchorId:L[0],focusId:L[L.length-1]});t(),D()},Eq=(K)=>{let L=N5(C,K);if(L)navigator.clipboard?.writeText(L).catch(()=>{})},o=(K)=>{if(K.target?.closest?.(".doc-source"))return;let p=K.metaKey||K.ctrlKey;if(p&&(K.key==="z"||K.key==="Z")){if(K.preventDefault(),K.shiftKey)h();else u();return}if(p&&K.key==="y"){K.preventDefault(),h();return}if(!O)return;let k=b;if(!k.length)return;if(K.key==="Escape"){K.preventDefault();let j=O.anchorId;l(),fq(j,!0);return}if(K.key==="Tab"){K.preventDefault(),Cq(k,K.shiftKey?"outdent":"indent");return}if(K.key==="Backspace"||K.key==="Delete"){K.preventDefault(),c(k);return}if(p&&K.key==="d"){K.preventDefault(),Gq(k);return}if(p&&(K.key==="c"||K.key==="x")){if(K.preventDefault(),Eq(k),K.key==="x")c(k);return}if(p&&K.key==="a"){K.preventDefault(),E();return}if(K.key==="ArrowDown"||K.key==="ArrowUp"){K.preventDefault();let j=tq(C),Wq=j.findIndex((Uq)=>Uq.id===O.focusId);if(Wq<0)return;if(K.shiftKey){let Uq=K.key==="ArrowDown"?Math.min(Wq+1,j.length-1):Math.max(Wq-1,0);B({anchorId:O.anchorId,focusId:j[Uq].id})}else{let Uq=K.key==="ArrowDown"?k[k.length-1]:k[0];l(),fq(Uq,K.key==="ArrowDown")}return}if(K.key.length===1&&!p){let j=k[k.length-1];l(),fq(j,!0)}},aq=yq(null),kq=(K)=>{if(K.button!==0)return;let L=K.target;if(L.closest(".gutter")||L.closest(".pop")||L.closest(".doc-col-resizer")||L.closest("input, button, select, a"))return;let k=v$(K.target)?.getAttribute("data-bid")??null;if(!k){l();return}if(K.shiftKey&&O){K.preventDefault(),Y9(),B({anchorId:O.anchorId,focusId:k});return}if(!!L.closest(".editable, .code-input, .doc-td")){if(aq.current={anchorId:k,started:!1,sx:K.clientX,sy:K.clientY,mode:"text"},O)l()}else K.preventDefault(),Y9(),B({anchorId:k,focusId:k}),aq.current={anchorId:k,started:!0,sx:K.clientX,sy:K.clientY,mode:"block"}};gq(()=>{let K=(p)=>{let k=aq.current;if(!k)return;let Wq=document.elementFromPoint(p.clientX,p.clientY)?.closest(".block[data-bid]")?.getAttribute("data-bid")??null;if(k.mode==="text"){if(Wq&&Wq!==k.anchorId)k.mode="block",Y9(),B({anchorId:k.anchorId,focusId:Wq});return}if(!k.started&&Math.abs(p.clientX-k.sx)+Math.abs(p.clientY-k.sy)<4)return;if(k.started=!0,zZ(!0),Wq)B({anchorId:k.anchorId,focusId:Wq})},L=()=>{aq.current=null,zZ(!1)};return window.addEventListener("mousemove",K),window.addEventListener("mouseup",L),()=>{window.removeEventListener("mousemove",K),window.removeEventListener("mouseup",L)}},[]);let Bq=yq(o);Bq.current=o,gq(()=>{let K=(L)=>Bq.current(L);return document.addEventListener("keydown",K,!0),()=>document.removeEventListener("keydown",K,!0)},[]);let W0=(K,L,p)=>{if(V&&V.blockId===L.id){if(K.key==="ArrowDown"){K.preventDefault(),A({...V,idx:Math.min(V.idx+1,Jq.length-1)});return}if(K.key==="ArrowUp"){K.preventDefault(),A({...V,idx:Math.max(V.idx-1,0)});return}if(K.key==="Enter"){K.preventDefault();let k=Jq[V.idx];if(k)_(k);return}if(K.key==="Escape"){A(null);return}}if((K.metaKey||K.ctrlKey)&&(K.key==="a"||K.key==="A")){if(M$(p))K.preventDefault(),E();return}if(K.key==="Tab"){K.preventDefault(),(K.shiftKey?zq:d)(L.id);return}if((K.key==="ArrowUp"||K.key==="ArrowDown")&&!K.shiftKey&&!T5()){let k=V$(p);if(K.key==="ArrowUp"&&k.first){let j=W9(C,L.id);if(j){K.preventDefault(),fq(j.id,!0);return}}else if(K.key==="ArrowDown"&&k.last){let j=qZ(C,L.id);if(j){K.preventDefault(),fq(j.id);return}}}if(K.key===" "&&L.type==="p"&&!T5()){let k=n9((p.textContent??"")+" "," ");if(k){K.preventDefault(),x(L,k);return}}if(K.key==="Enter"&&!K.shiftKey&&L.type!=="code"){let k=n9((p.textContent??"").trim(),"Enter");if(k){if(K.preventDefault(),uq(L.type)&&k.type==="code"){a(L,k);return}x(L,k);return}K.preventDefault();let j=(p.textContent??"").trim()==="";if(uq(L.type)&&j&&!(L.children??[]).length){s(L.id,"p");return}r(L.id,uq(L.type)?L.type:"p")}else if(K.key==="Backspace"&&(p.textContent??"")==="")if(K.preventDefault(),L.type!=="p")s(L.id,"p");else{let k=W9(C,L.id);if(k)$q(L.id),requestAnimationFrame(()=>fq(k.id,!0))}},dq=(K,L,p)=>{let{value:k,selectionStart:j,selectionEnd:Wq}=p;if(K.key==="Tab"){if(K.preventDefault(),K.shiftKey){if(X0(C),F9(C,L.id))t(),requestAnimationFrame(()=>fq(L.id)),D();return}document.execCommand("insertText",!1," ");return}if(K.key==="Enter"&&!K.shiftKey&&j===Wq){let Uq=k.lastIndexOf(`
|
|
28
|
+
`,j-1)+1,Tq=k.indexOf(`
|
|
29
|
+
`,j),jq=Tq===-1,lq=k.slice(Uq,jq?void 0:Tq).trim()==="";if(jq&&lq)K.preventDefault(),L.content=k.replace(/\n[ \t]*$/,""),r(L.id,"p");return}if(K.key==="ArrowDown"&&j===Wq&&k.indexOf(`
|
|
30
|
+
`,j)===-1){K.preventDefault();let Uq=qZ(C,L.id);if(Uq)fq(Uq.id);else r(L.id,"p");return}if(K.key==="ArrowUp"&&j===Wq&&k.lastIndexOf(`
|
|
31
|
+
`,j-1)===-1){K.preventDefault();let Uq=W9(C,L.id);if(Uq)fq(Uq.id,!0);return}if(K.key==="Backspace"&&k===""){K.preventDefault();let Uq=Vq(C,L.id),Tq=Uq?.parentBlock;if(Uq&&Tq&&uq(Tq.type)&&Tq.content.trim()===""){if(Uq.parent.splice(Uq.index,1),Uq.parent.length===0)delete Tq.children;t(),requestAnimationFrame(()=>fq(Tq.id)),D();return}s(L.id,"p")}},v0=(K,L)=>{K.stopPropagation(),Aq(K,(p)=>z(qq,{children:[z(bq,{children:"转换为"},void 0,!1,void 0,this),s9.filter((k)=>k.type!=="divider").map((k)=>z(Zq,{icon:k.ic,label:k.t,checked:L.type===k.type,onClick:()=>{s(L.id,k.type),p()}},k.type,!1,void 0,this)),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"copy",label:"复制块",onClick:()=>{let k=Vq(C,L.id);if(k)k.parent.splice(k.index+1,0,X9(L));t(),D(),p()}},void 0,!1,void 0,this),z(Zq,{icon:"trash",label:"删除块",danger:!0,onClick:()=>{$q(L.id),p()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))},C0=yq(null);if(y)return z("div",{class:"empty",children:"加载中…"},void 0,!1,void 0,this);let m=new Set(b),n=(K,L=0)=>{let p=d9(K);return K.map((k)=>z(K$,{renderKey:Y,block:k,depth:L,selected:m.has(k.id),number:k.type==="numbered"?p.get(k.id)??1:0,onInput:(j)=>Fq(k,j),onPaste:(j,Wq)=>vq(j,k,Wq),onLangInput:(j)=>{k.lang=j,t(),D()},onKeyDown:(j,Wq)=>W0(j,k,Wq),onCodeInput:(j)=>{k.content=j,R("text:"+k.id),D()},onCodeKeyDown:(j,Wq)=>dq(j,k,Wq),onCellInput:(j,Wq,Uq)=>{if(!k.rows?.[j])return;k.rows[j][Wq]=Uq,R("table:"+k.id+":"+j+":"+Wq),D()},onTableChange:()=>{t(),D()},onAdd:()=>r(k.id),onMenu:(j)=>v0(j,k),onToggle:()=>{k.checked=!k.checked,t(),D()},dragRef:C0,onReorder:(j,Wq)=>{let Uq=b;if(Uq.length>1&&Uq.includes(j)?_5(C,Uq,k.id,Wq):A5(C,j,k.id,Wq))t(),D()},children:k.children?.length?n(k.children,L+1):null},k.id,!1,void 0,this))};return z("div",{class:"doc"+(F==="source"?" source-mode":""),onMouseDown:(K)=>kq(K),onMouseUp:()=>$Z(S),onKeyUp:(K)=>{if(K.shiftKey||K.key.startsWith("Arrow"))$Z(S)},children:[z("div",{class:"doc-title",contentEditable:!0,onInput:(K)=>{G.current=K.target.textContent??"",R("title"),D()},onBlur:()=>{Z()},onKeyDown:(K)=>{if(K.key==="Enter")if(K.preventDefault(),!C.length)r(null);else fq(C[0].id)},dangerouslySetInnerHTML:{__html:G.current}},void 0,!1,void 0,this),z("div",{class:"doc-meta",children:[z("span",{children:[z(i,{name:"file",cls:"ico sm"},void 0,!1,void 0,this),o9(C)," 个块"]},void 0,!0,void 0,this),z("span",{children:"实时同步"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F==="source"?z("textarea",{ref:H,class:"doc-source",spellcheck:!1,defaultValue:W.current,onInput:(K)=>{let L=K.currentTarget;W.current=L.value,I5(L),D()}},void 0,!1,void 0,this):n(C),F==="blocks"&&C.length===0&&z("div",{class:"editable",style:{color:"var(--muted)",cursor:"text"},onClick:()=>r(null),children:"点此书写,或输入 “/” 选择块类型…"},void 0,!1,void 0,this),V&&Jq.length>0&&(()=>{let p=innerHeight-(V.y+22)-8,k=V.y-8,j=p>=240||p>=k,Wq=Math.min(V.x,innerWidth-270),Uq=Math.min(j?p:k,Math.round(innerHeight*0.7)),Tq=j?{left:Wq,top:V.y+22,maxHeight:Uq,minWidth:260}:{left:Wq,bottom:innerHeight-V.y+6,maxHeight:Uq,minWidth:260};return z("div",{class:"pop",style:Tq,children:[z(bq,{children:"基础块"},void 0,!1,void 0,this),Jq.map((jq,lq)=>z("button",{class:"item"+(lq===V.idx?" sel":""),onMouseDown:(U9)=>{U9.preventDefault(),_(jq)},children:[z("span",{class:"lico",children:z(i,{name:jq.ic,cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"meta",children:[z("span",{class:"t",children:jq.t},void 0,!1,void 0,this),z("span",{class:"d",children:jq.d},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},jq.type,!0,void 0,this))]},void 0,!0,void 0,this)})(),f&&!O&&z(B$,{x:f.x,y:f.y,onCommand:wq},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function K$({block:q,number:Z,depth:$,renderKey:J,selected:Q,onInput:X,onPaste:W,onLangInput:H,onKeyDown:G,onCodeInput:F,onCodeKeyDown:U,onCellInput:Y,onTableChange:v,onAdd:y,onMenu:w,onToggle:V,dragRef:A,onReorder:f,children:S}){let O=yq(null);gq(()=>{if(O.current&&q.type!=="code"){let P=K9(q.content);if(O.current.innerHTML!==P)O.current.innerHTML=P}},[J,q.type]);let B=uq(q.type)&&q.content.trim()===""&&q.children?.[0]?.type==="code",N="block b-"+q.type+(q.type==="todo"&&q.checked?" b-done":"")+(B?" list-code-host":"")+(Q?" selected":"");return z("div",{class:"block-wrap"+($?" nested":""),children:[z("div",{class:N,"data-bid":q.id,onDragOver:(P)=>{if(A.current&&A.current!==q.id){if(P.preventDefault(),P.dataTransfer)P.dataTransfer.dropEffect="move";k$(P.currentTarget,P)}},onDrop:(P)=>{if(!A.current)return;P.preventDefault();let I=P.currentTarget.classList.contains("drop-after")?"after":"before",R=A.current;A.current=null,QZ(),f(R,I)},children:[z("div",{class:"gutter",children:[z("button",{title:"在下方插入",onClick:y,children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("button",{class:"grip",title:"拖拽移动 · 点击菜单",draggable:!0,onClick:w,onDragStart:(P)=>{if(A.current=q.id,P.dataTransfer)P.dataTransfer.effectAllowed="move",P.dataTransfer.setData("text/plain",q.id);P.currentTarget.closest(".block").classList.add("dragging")},onDragEnd:(P)=>{P.currentTarget.closest(".block").classList.remove("dragging"),QZ()},children:z(i,{name:"grip",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q.type==="divider"?z("hr",{},void 0,!1,void 0,this):q.type==="table"?z(y$,{block:q,renderKey:J,onCellInput:Y,onTableChange:v},void 0,!1,void 0,this):z(qq,{children:[q.type==="bullet"&&z("div",{class:"marker",children:"•"},void 0,!1,void 0,this),q.type==="numbered"&&z("div",{class:"marker",children:[Z,"."]},void 0,!0,void 0,this),q.type==="todo"&&z("div",{class:"marker",children:z("input",{type:"checkbox",checked:!!q.checked,onChange:V},void 0,!1,void 0,this)},void 0,!1,void 0,this),B?null:q.type==="code"?z(U$,{block:q,renderKey:J,onInput:F,onLangChange:H,onKeyDown:U},void 0,!1,void 0,this):z("div",{ref:O,class:"editable",contentEditable:!0,"data-ph":Y$(q.type),onInput:(P)=>X(P.currentTarget),onPaste:(P)=>W(P,P.currentTarget),onKeyDown:(P)=>G(P,P.currentTarget)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),S]},void 0,!0,void 0,this)}function Y$(q){return{h1:"标题 1",h2:"标题 2",h3:"标题 3",code:"输入代码…",quote:"引用"}[q]??"输入文本,“/” 唤出命令"}function U$({block:q,renderKey:Z,onInput:$,onLangChange:J,onKeyDown:Q}){let X=yq(null),W=yq(null),H=yq(null),[G,F]=e(!1),U=(y)=>{if(W.current)W.current.innerHTML=G$(y,q.lang);if(H.current){let V=y.split(`
|
|
32
|
+
`).length,A="1";for(let f=2;f<=V;f++)A+=`
|
|
33
|
+
`+f;H.current.textContent=A}let w=X.current;if(w)w.style.height="auto",w.style.height=w.scrollHeight+"px"};gq(()=>{let y=X.current;if(y&&y.value!==q.content)y.value=q.content;U(q.content)},[Z,q.lang]);let Y=q.lang??"",v=l9.some((y)=>y.id===Y);return z("div",{class:"codeblock",children:[z("div",{class:"code-body",children:[z("div",{ref:H,class:"code-gutter","aria-hidden":"true",children:"1"},void 0,!1,void 0,this),z("div",{class:"code-scroll",children:[z("pre",{class:"code-hl","aria-hidden":"true",children:z("code",{ref:W,class:"hljs"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("textarea",{ref:X,class:"code-input",rows:1,spellcheck:!1,wrap:"off",placeholder:"输入代码…",onInput:(y)=>{let w=y.currentTarget;$(w.value),U(w.value)},onKeyDown:(y)=>Q(y,y.currentTarget),onScroll:(y)=>{let w=W.current?.parentElement;if(w)w.scrollLeft=y.currentTarget.scrollLeft}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"code-tools",children:[z("span",{class:"code-lang",children:[z("select",{value:Y,onChange:(y)=>J(y.currentTarget.value),children:[!v&&z("option",{value:Y,children:Y||"纯文本"},void 0,!1,void 0,this),l9.map((y)=>z("option",{value:y.id,children:y.label},y.id,!1,void 0,this))]},void 0,!0,void 0,this),z(i,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"code-copy"+(G?" ok":""),title:"复制代码",onClick:()=>{let y=X.current?.value??q.content;navigator.clipboard?.writeText(y).then(()=>{F(!0),setTimeout(()=>F(!1),1400)}).catch(()=>{})},children:[z(i,{name:G?"check":"copy",cls:"ico sm"},void 0,!1,void 0,this),G?"已复制":"复制"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function y$({block:q,renderKey:Z,onCellInput:$,onTableChange:J}){let Q=q.rows??[],X=Q[0]?.length??0,W=q.align??[],H=yq(null),G=yq([]);if(G.current.length!==X)G.current=Array.from({length:X},(O,B)=>G.current[B]??160);let F=()=>{q.rows=[...Q,new Array(X).fill("")],J()},U=()=>{q.rows=Q.map((O)=>[...O,""]),q.align=[...W,null],J()},Y=(O)=>{q.rows=Q.map((N)=>{let P=[...N];return P.splice(O,0,""),P});let B=[...W];B.splice(O,0,null),q.align=B,J()},v=(O)=>{if(X<=1)return;q.rows=Q.map((B)=>B.filter((N,P)=>P!==O)),q.align=W.filter((B,N)=>N!==O),J()},y=(O)=>{if(O===0||Q.length<=2)return;q.rows=Q.filter((B,N)=>N!==O),J()},w=(O,B)=>{let N=Array.from({length:X},(P,I)=>W[I]??null);N[O]=B,q.align=N,J()},V=(O,B)=>{let N=H.current?.querySelector(`.doc-td[data-r="${O}"][data-c="${B}"]`);if(!N)return!1;N.focus();let P=document.createRange();P.selectNodeContents(N),P.collapse(!1);let I=getSelection();return I?.removeAllRanges(),I?.addRange(P),!0},A=(O,B,N)=>{if(O.key==="Tab"){if(O.preventDefault(),O.shiftKey){if(N>0)V(B,N-1);else if(B>0)V(B-1,X-1)}else if(N<X-1)V(B,N+1);else if(B<Q.length-1)V(B+1,0);else F(),requestAnimationFrame(()=>V(Q.length,0));return}if(O.key==="Enter"){if(O.preventDefault(),B<Q.length-1)V(B+1,N);else F(),requestAnimationFrame(()=>V(Q.length,N));return}},f=(O,B)=>{O.preventDefault(),O.stopPropagation();let N=O.currentTarget,P=H.current?.querySelector(`col[data-tcol="${B}"]`),I=O.clientX,R=G.current[B]??160,T=R,u=0;N.classList.add("dragging"),document.body.classList.add("col-resizing");let h=()=>{if(u=0,P)P.style.width=T+"px"},t=(Qq)=>{if(T=Math.max(60,R+Qq.clientX-I),!u)u=requestAnimationFrame(h)},D=()=>{if(u)cancelAnimationFrame(u);if(P)P.style.width=T+"px";G.current[B]=T,removeEventListener("pointermove",t),removeEventListener("pointerup",D),removeEventListener("pointercancel",D),N.classList.remove("dragging"),document.body.classList.remove("col-resizing")};addEventListener("pointermove",t,{passive:!1}),addEventListener("pointerup",D),addEventListener("pointercancel",D)},S=(O,B)=>{O.preventDefault(),O.stopPropagation(),Aq(O,(N)=>z(qq,{children:[z(bq,{children:"对齐方式"},void 0,!1,void 0,this),z(Zq,{icon:"alignLeft",label:"左对齐",checked:(W[B]??null)===null||W[B]==="left",onClick:()=>{w(B,"left"),N()}},void 0,!1,void 0,this),z(Zq,{icon:"alignCenter",label:"居中",checked:W[B]==="center",onClick:()=>{w(B,"center"),N()}},void 0,!1,void 0,this),z(Zq,{icon:"alignRight",label:"右对齐",checked:W[B]==="right",onClick:()=>{w(B,"right"),N()}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"plus",label:"在左侧插入列",onClick:()=>{Y(B),N()}},void 0,!1,void 0,this),z(Zq,{icon:"cornerUpRight",label:"在右侧插入列",onClick:()=>{Y(B+1),N()}},void 0,!1,void 0,this),z(Zq,{icon:"trash",label:"删除列",danger:!0,onClick:()=>{v(B),N()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return z("div",{class:"doc-table-wrap",children:z("div",{class:"doc-table-scroll",children:z("div",{class:"doc-table-inner",children:[z("div",{class:"doc-table-row",children:[z("table",{ref:H,class:"doc-table",children:[z("colgroup",{children:Array.from({length:X},(O,B)=>z("col",{"data-tcol":B,style:{width:G.current[B]}},B,!1,void 0,this))},void 0,!1,void 0,this),z("tbody",{children:Q.map((O,B)=>z("tr",{children:O.map((N,P)=>z("td",{class:B===0?"doc-th":void 0,children:[z(w$,{value:N,renderKey:Z,r:B,c:P,align:W[P]??null,onInput:(I)=>$(B,P,I),onKeyDown:(I)=>A(I,B,P)},void 0,!1,void 0,this),B===0&&z(qq,{children:[z("button",{class:"doc-col-menu",title:"列选项",onMouseDown:(I)=>S(I,P),children:z(i,{name:"chevronDown",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"doc-col-resizer",onPointerDown:(I)=>f(I,P)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),P===0&&B>0&&Q.length>2&&z("button",{class:"doc-row-del",title:"删除行",onMouseDown:(I)=>{I.preventDefault(),I.stopPropagation(),y(B)},children:z(i,{name:"trash",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},P,!0,void 0,this))},B,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"doc-table-addcol",title:"新增列",onMouseDown:(O)=>{O.preventDefault(),U()},children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z("button",{class:"doc-table-addrow",title:"新增行",onMouseDown:(O)=>{O.preventDefault(),F()},children:z(i,{name:"plus",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function w$({value:q,renderKey:Z,r:$,c:J,align:Q,onInput:X,onKeyDown:W}){let H=yq(null);return gq(()=>{if(H.current){let G=K9(q);if(H.current.innerHTML!==G)H.current.innerHTML=G}},[Z]),z("div",{ref:H,class:"doc-td","data-r":$,"data-c":J,contentEditable:!0,"data-ph":$===0?"表头":"",style:Q?{textAlign:Q}:void 0,onInput:(G)=>X(b0(G.currentTarget.innerHTML)),onKeyDown:(G)=>W(G)},void 0,!1,void 0,this)}function B$({x:q,y:Z,onCommand:$}){let J=(Q)=>(X)=>{X.preventDefault(),$(Q)};return z("div",{class:"pop",style:{left:Math.max(8,Math.min(q,innerWidth-220)),top:Z-46,minWidth:0,padding:3,display:"flex",gap:1},children:[["bold","bold"],["italic","italic"],["underline","underline"],["strikeThrough","strike"],["code","code"],["createLink","link"]].map(([Q,X])=>z("button",{class:"item",style:{width:34,justifyContent:"center",padding:"7px 0"},onMouseDown:J(Q),children:z(i,{name:X,cls:"ico sm"},void 0,!1,void 0,this)},Q,!1,void 0,this))},void 0,!1,void 0,this)}function P$(){let q=getSelection();if(!q||q.isCollapsed)return;let Z=q.toString();document.execCommand("insertHTML",!1,`<code>${Z.replace(/</g,"<")}</code>`)}function X0(q){document.querySelectorAll(".doc .block[data-bid]").forEach((Z)=>L$(q,Z))}function L$(q,Z){let $=Z.matches(".block[data-bid]")?Z:Z.closest(".block[data-bid]"),J=$?.getAttribute("data-bid"),Q=J?Vq(q,J)?.block:null;if(!Q||!$)return;let X=$.querySelector(".editable"),W=$.querySelector(".code-input");if(X)Q.content=XZ(Q,X);else if(W)Q.content=W.value}function v$(q){return(q instanceof HTMLElement?q:q.parentElement)?.closest(".block[data-bid]")??null}function C$(){return document.activeElement?.closest?.(".doc .block[data-bid]")?.getAttribute("data-bid")??null}function zZ(q){document.querySelector(".doc")?.classList.toggle("selecting",q)}function Y9(){getSelection()?.removeAllRanges(),document.activeElement?.blur?.(),zZ(!0)}function $Z(q){let Z=getSelection();if(!Z||Z.isCollapsed||!Z.rangeCount)return q(null);if(!Z.anchorNode?.parentElement?.closest?.(".editable"))return q(null);let J=Z.getRangeAt(0),Q=J.getBoundingClientRect(),X=Q.width||Q.height?Q:J.getClientRects()[0];if(!X)return q(null);q({x:X.left,y:X.top})}function A$(q){let Z=getSelection()?.anchorNode?.parentElement?.closest?.(".editable"),J=Z?.closest(".block")?.getAttribute("data-bid"),Q=J?Vq(q,J)?.block:null;if(Q&&Z)Q.content=XZ(Q,Z)}function JZ(q,Z={}){let $={id:iq(),type:q,content:Z.content??""};if(q==="todo")$.checked=Z.checked??!1;if(q==="code")$.lang=Z.lang??"";if(q==="numbered"&&Z.start!=null&&Z.start>1)$.start=Z.start;if(uq(q)&&Z.children?.length)$.children=Z.children;if(q==="table")$.rows=Z.rows?Z.rows.map((J)=>[...J]):x5(),$.align=Z.align?[...Z.align]:new Array($.rows[0].length).fill(null);return $}function x5(){return[["",""],["",""]]}function XZ(q,Z){return b0(Z.innerHTML)}function T5(){let q=getSelection();return!!q&&!q.isCollapsed}function O$(){let q=getSelection();if(!q||!q.rangeCount)return{x:80,y:120};let Z=q.getRangeAt(0).getBoundingClientRect();return{x:Z.left||80,y:Z.top||120}}function V$(q){let Z=getSelection();if(!Z||!Z.rangeCount)return{first:!0,last:!0};let $=Z.getRangeAt(0).getBoundingClientRect(),J=q.getBoundingClientRect();if(!$.height&&!$.top)return{first:!0,last:!0};let Q=parseFloat(getComputedStyle(q).lineHeight)||$.height||20;return{first:$.top-J.top<Q*0.5,last:J.bottom-$.bottom<Q*0.5}}function M$(q){let Z=q.textContent??"";if(Z.trim()==="")return!0;let $=getSelection();if(!$||!$.rangeCount||$.isCollapsed)return!1;if(!q.contains($.anchorNode)||!q.contains($.focusNode))return!1;return $.toString().length>=Z.length}function _$(q){let Z=getSelection();if(!Z||!Z.rangeCount||!q.contains(Z.getRangeAt(0).startContainer))return{before:b0(q.innerHTML),after:""};let $=Z.getRangeAt(0),J=(Q)=>{let X=document.createRange();X.selectNodeContents(q),Q(X);let W=document.createElement("div");return W.appendChild(X.cloneContents()),b0(W.innerHTML)};return{before:J((Q)=>Q.setEnd($.startContainer,$.startOffset)),after:J((Q)=>Q.setStart($.endContainer,$.endOffset))}}function N$(q){let Z=document.createElement("div");return Z.innerHTML=K9(q),(Z.textContent??"").length}function f$(q,Z){let $=document.querySelector(`.block[data-bid="${q}"] .editable`);if(!$)return;$.focus();let J=document.createTreeWalker($,NodeFilter.SHOW_TEXT),Q=Z,X=null;for(let G=J.nextNode();G;G=J.nextNode()){if(X=G,Q<=G.data.length)break;Q-=G.data.length}let W=document.createRange();if(X)W.setStart(X,Math.min(Q,X.data.length));else W.selectNodeContents($);W.collapse(!0);let H=getSelection();H?.removeAllRanges(),H?.addRange(W)}function fq(q,Z=!1){let $=`.block[data-bid="${q}"] .editable, .block[data-bid="${q}"] .code-input`,J=document.querySelector($);if(!J)return;if(J.focus(),J instanceof HTMLTextAreaElement){let Q=Z?J.value.length:0;J.setSelectionRange(Q,Q);return}if(Z){let Q=document.createRange();Q.selectNodeContents(J),Q.collapse(!1);let X=getSelection();X?.removeAllRanges(),X?.addRange(Q)}}function I5(q){q.style.height="auto",q.style.height=q.scrollHeight+"px"}function QZ(){document.querySelectorAll(".block.drop-before,.block.drop-after").forEach((q)=>q.classList.remove("drop-before","drop-after"))}function k$(q,Z){QZ();let $=q.getBoundingClientRect();q.classList.add(Z.clientY<$.top+$.height/2?"drop-before":"drop-after")}function j5(){let q=localStorage.getItem("mh-theme");return q==="light"||q==="dark"||q==="system"?q:"system"}function D5(q){localStorage.setItem("mh-theme",q),document.documentElement.dataset.theme=q}var g$=[{value:"light",icon:"sun",name:"浅色",desc:"始终使用明亮界面"},{value:"dark",icon:"moon",name:"深色",desc:"始终使用暗色界面"},{value:"system",icon:"monitor",name:"跟随系统",desc:"随操作系统外观自动切换"}];function u5(){let[q,Z]=e(j5()),$=(J)=>{D5(J),Z(J)};return z("div",{class:"set-page",children:[z("div",{class:"set-title",children:"设置"},void 0,!1,void 0,this),z("div",{class:"set-sub",children:"个性化你的 Metahub 工作区。"},void 0,!1,void 0,this),z("div",{class:"set-section",children:[z("div",{class:"set-section-head",children:"外观"},void 0,!1,void 0,this),z("div",{class:"set-section-desc",children:"选择界面的颜色主题。"},void 0,!1,void 0,this),z("div",{class:"theme-grid",children:g$.map((J)=>z("button",{class:"theme-card"+(q===J.value?" sel":""),"aria-pressed":q===J.value,onClick:()=>$(J.value),children:[z("span",{class:"tc-check",children:z(i,{name:"check"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"tc-ico",children:z(i,{name:J.icon},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{class:"tc-name",children:J.name},void 0,!1,void 0,this),z("span",{class:"tc-desc",children:J.desc},void 0,!1,void 0,this)]},J.value,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}var b$=/[",\r\n]/;function S$(q){return b$.test(q)?`"${q.replace(/"/g,'""')}"`:q}function h5(q){return q.map((Z)=>Z.map(S$).join(",")).join(`
|
|
34
|
+
`)}function WZ(q,Z){let $=Z.startsWith(".")?Z:"."+Z,J=q.trim().replace(/[\\/:*?"<>|\x00-\x1f]/g,"-").replace(/\s+/g," ").replace(/^\.+$/,"").slice(0,90)||"untitled";return J.toLowerCase().endsWith($.toLowerCase())?J:J+$}function HZ(q,Z,$){let J=URL.createObjectURL(new Blob([Z],{type:$})),Q=document.createElement("a");Q.href=J,Q.download=q,document.body.appendChild(Q),Q.click(),Q.remove(),setTimeout(()=>URL.revokeObjectURL(J),0)}function m5(q,Z){let $=["id",...q.map((Q)=>Q.name)],J=Z.map((Q)=>[Q.id,...q.map((X)=>T$(Q.values[X.name]))]);return h5([$,...J])}function T$(q){if(q==null)return"";if(typeof q==="boolean")return q?"true":"false";if(typeof q==="object")return JSON.stringify(q);return String(q)}function I$(){let[q,Z]=e([]),[$,J]=e([]),[Q,X]=e({kind:"empty"}),[W,H]=e(""),[G,F]=e(!1),[U,Y]=e(!1),[v,y]=e(268),[w,V]=e("blocks"),A=yq(null),f=i0((T)=>H(T),[]),S=i0((T)=>{A.current=T},[]),O=i0(async()=>{let[T,u]=await Promise.all([Hq.listDatabases(),Hq.listDocuments()]);Z(T),J(u)},[]);gq(()=>{O().catch((T)=>f(String(T.message)))},[O]);let B=(T)=>{X(T),F(!1)},N=Q.kind==="db"?q.find((T)=>T.id===Q.id):void 0,P=Q.kind==="doc"?$.find((T)=>T.id===Q.id):void 0,I=Q.kind==="doc"?Q.id:null;gq(()=>{V("blocks")},[I]);let R=(T)=>{if(Q.kind==="doc"&&P)Aq(T,(u)=>z(qq,{children:[z(Zq,{icon:"code",label:w==="source"?"块方式显示":"代码方式显示",checked:w==="source",onClick:()=>{u(),A.current?.setMode(w==="source"?"blocks":"source")}},void 0,!1,void 0,this),z(Zq,{icon:"download",label:"导出 Markdown",onClick:()=>{u();let h=A.current?.snapshotMarkdown();A.current?.flushSave(),(h==null?Hq.getDocument(P.id).then((D)=>D.body??""):Promise.resolve(h)).then((D)=>HZ(WZ(P.title||P.id,".md"),D,"text/markdown;charset=utf-8")).catch((D)=>f(String(D.message)))}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"settings",label:"重命名…",onClick:async()=>{u();let h=await K0({title:"重命名文档",value:P.title});if(h)await Hq.updateDocument(P.id,{title:h}),O()}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"trash",label:"删除文档",danger:!0,onClick:async()=>{if(u(),await hq({title:"删除文档?",message:`「${P.title||"无标题"}」将被删除。`,confirmLabel:"删除",danger:!0}))await Hq.deleteDocument(P.id),X({kind:"empty"}),O()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this));else if(Q.kind==="db"&&N)Aq(T,(u)=>z(qq,{children:[z(Zq,{icon:"download",label:"导出 CSV",onClick:()=>{u(),Promise.all([Hq.listProperties(N.id),Hq.listRecords(N.id)]).then(([h,t])=>HZ(WZ(N.name||N.id,".csv"),m5(h,t),"text/csv;charset=utf-8")).catch((h)=>f(String(h.message)))}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"settings",label:"重命名…",onClick:async()=>{u();let h=await K0({title:"重命名数据库",value:N.name});if(h&&h!==N.name)await Hq.updateDatabase(N.id,{name:h}),O()}},void 0,!1,void 0,this),z(Nq,{},void 0,!1,void 0,this),z(Zq,{icon:"trash",label:"删除数据库",danger:!0,onClick:async()=>{if(u(),await hq({title:"删除数据库?",message:`「${N.name}」及其所有记录将被永久删除。`,confirmLabel:"删除",danger:!0}))await Hq.deleteDatabase(N.id),X({kind:"empty"}),O()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this))};return z(qq,{children:[z(pZ,{databases:q,docs:$,activeKind:Q.kind,activeId:"id"in Q?Q.id:void 0,width:v,collapsed:U,onResize:y,onOpenDb:(T)=>B({kind:"db",id:T}),onOpenDoc:(T)=>B({kind:"doc",id:T}),onSearch:(T)=>B({kind:"search",q:T}),onCollapse:()=>Y(!0),onOpenSettings:()=>B({kind:"settings"}),settingsActive:Q.kind==="settings",reloadNav:O,onError:f,afterDelete:(T,u)=>{if("id"in Q&&Q.id===u)X({kind:"empty"})}},void 0,!1,void 0,this),z(R$,{open:G},void 0,!1,void 0,this),z("div",{class:"main",children:[z("div",{class:"topbar",children:[z("button",{class:"iconbtn hamburger"+(U?" show-collapsed":""),title:U?"展开侧栏":"菜单",onClick:()=>U?Y(!1):F(!0),children:z(i,{name:"panelLeft"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("div",{class:"crumb",children:[Q.kind==="doc"&&z(qq,{children:[z("span",{class:"emoji",children:z(i,{name:"file",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{children:P?.title||"无标题"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q.kind==="db"&&z(qq,{children:[z("span",{class:"emoji",children:N?.icon||"\uD83D\uDDC2️"},void 0,!1,void 0,this),z("span",{children:N?.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q.kind==="search"&&z("span",{children:["搜索:“",Q.q,"”"]},void 0,!0,void 0,this),Q.kind==="settings"&&z(qq,{children:[z("span",{class:"emoji",children:z(i,{name:"settings",cls:"ico sm"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z("span",{children:"设置"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q.kind==="empty"&&z("span",{class:"sub",children:"未选择任何内容"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),(Q.kind==="doc"||Q.kind==="db")&&z(qq,{children:[z("button",{class:"btn btn-ghost",children:[z(i,{name:"share",cls:"ico sm"},void 0,!1,void 0,this),"分享"]},void 0,!0,void 0,this),z("button",{class:"iconbtn",onClick:R,children:z(i,{name:"dots"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W&&z("div",{class:"error-bar",onClick:()=>H(""),children:["⚠ ",W,"(点击关闭)"]},void 0,!0,void 0,this),z("div",{class:"content",children:[Q.kind==="empty"&&z("div",{class:"empty",children:z("div",{children:[z("p",{children:"从左侧选择一个数据库或文档,"},void 0,!1,void 0,this),z("p",{children:"或新建一个开始。"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Q.kind==="db"&&N&&z(q8,{db:N,reloadNav:O,onError:f},N.id,!1,void 0,this),Q.kind==="doc"&&z(R5,{docId:Q.id,onTitleChange:O,onError:f,onModeChange:V,onHandle:S},Q.id,!1,void 0,this),Q.kind==="search"&&z(x$,{q:Q.q,onOpenDoc:(T)=>B({kind:"doc",id:T}),onOpenDb:(T)=>B({kind:"db",id:T})},void 0,!1,void 0,this),Q.kind==="settings"&&z(u5,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z("div",{class:"backdrop"+(G?" show":""),onClick:()=>F(!1)},void 0,!1,void 0,this),z(hZ,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function R$({open:q}){return gq(()=>{let Z=document.querySelector(".sidebar");if(Z)Z.classList.toggle("open",q)},[q]),null}function x$({q,onOpenDoc:Z,onOpenDb:$}){let[J,Q]=e(null);return gq(()=>{Q(null),Hq.search(q).then(Q).catch(()=>Q([]))},[q]),z("div",{class:"db",children:[z("div",{class:"db-title",style:{marginBottom:14},children:["搜索:“",q,"”"]},void 0,!0,void 0,this),J===null&&z("p",{class:"muted",children:"搜索中…"},void 0,!1,void 0,this),J?.length===0&&z("p",{class:"muted",children:"没有匹配结果。"},void 0,!1,void 0,this),J?.map((X)=>z("div",{class:"error-bar",style:{background:"var(--surface)",color:"var(--fg)",margin:"0 0 8px"},onClick:()=>X.type==="document"?Z(X.id):X.database_id&&$(X.database_id),children:[z("strong",{children:X.title||X.id},void 0,!1,void 0,this)," ",z("span",{class:"muted",children:X.type},void 0,!1,void 0,this),z("div",{class:"muted",dangerouslySetInnerHTML:{__html:X.snippet}},void 0,!1,void 0,this)]},X.id,!0,void 0,this))]},void 0,!0,void 0,this)}MZ(z(I$,{},void 0,!1,void 0,this),document.getElementById("app"));
|