@kingsimba/nc-ui 0.1.42 → 0.1.44

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.
@@ -0,0 +1,3088 @@
1
+ import He, { createElement as Ve, useCallback as xe, useMemo as Xe } from "react";
2
+ import { c as je } from "./clsx-OuTLNxxd.js";
3
+ var q = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, ze = {}, C = q && q.__assign || function() {
4
+ return C = Object.assign || function(e) {
5
+ for (var t, n = 1, i = arguments.length; n < i; n++) {
6
+ t = arguments[n];
7
+ for (var u in t) Object.prototype.hasOwnProperty.call(t, u) && (e[u] = t[u]);
8
+ }
9
+ return e;
10
+ }, C.apply(this, arguments);
11
+ }, Qe = q && q.__createBinding || (Object.create ? function(e, t, n, i) {
12
+ i === void 0 && (i = n);
13
+ var u = Object.getOwnPropertyDescriptor(t, n);
14
+ (!u || ("get" in u ? !t.__esModule : u.writable || u.configurable)) && (u = { enumerable: !0, get: function() {
15
+ return t[n];
16
+ } }), Object.defineProperty(e, i, u);
17
+ } : function(e, t, n, i) {
18
+ i === void 0 && (i = n), e[i] = t[n];
19
+ }), Je = q && q.__setModuleDefault || (Object.create ? function(e, t) {
20
+ Object.defineProperty(e, "default", { enumerable: !0, value: t });
21
+ } : function(e, t) {
22
+ e.default = t;
23
+ }), et = q && q.__importStar || function(e) {
24
+ if (e && e.__esModule) return e;
25
+ var t = {};
26
+ if (e != null) for (var n in e) n !== "default" && Object.prototype.hasOwnProperty.call(e, n) && Qe(t, e, n);
27
+ return Je(t, e), t;
28
+ }, tt = q && q.__rest || function(e, t) {
29
+ var n = {};
30
+ for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && t.indexOf(i) < 0 && (n[i] = e[i]);
31
+ if (e != null && typeof Object.getOwnPropertySymbols == "function")
32
+ for (var u = 0, i = Object.getOwnPropertySymbols(e); u < i.length; u++)
33
+ t.indexOf(i[u]) < 0 && Object.prototype.propertyIsEnumerable.call(e, i[u]) && (n[i[u]] = e[i[u]]);
34
+ return n;
35
+ };
36
+ Object.defineProperty(ze, "__esModule", { value: !0 });
37
+ var U = et(He), nt = 89, me = 90, at = 77, Oe = 57, Ie = 219, Ce = 222, Le = 192, De = 100, rt = 3e3, ot = typeof window < "u" && "navigator" in window && /Win/i.test(navigator.platform), Se = typeof window < "u" && "navigator" in window && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform), he = "npm__react-simple-code-editor__textarea", st = (
38
+ /* CSS */
39
+ `
40
+ /**
41
+ * Reset the text fill color so that placeholder is visible
42
+ */
43
+ .`.concat(he, `:empty {
44
+ -webkit-text-fill-color: inherit !important;
45
+ }
46
+
47
+ /**
48
+ * Hack to apply on some CSS on IE10 and IE11
49
+ */
50
+ @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
51
+ /**
52
+ * IE doesn't support '-webkit-text-fill-color'
53
+ * So we use 'color: transparent' to make the text transparent on IE
54
+ * Unlike other browsers, it doesn't affect caret color in IE
55
+ */
56
+ .`).concat(he, ` {
57
+ color: transparent !important;
58
+ }
59
+
60
+ .`).concat(he, `::selection {
61
+ background-color: #accef7 !important;
62
+ color: transparent !important;
63
+ }
64
+ }
65
+ `)
66
+ ), it = U.forwardRef(function(t, n) {
67
+ var i = t.autoFocus, u = t.disabled, v = t.form, d = t.highlight, h = t.ignoreTabKey, y = h === void 0 ? !1 : h, f = t.insertSpaces, m = f === void 0 ? !0 : f, b = t.maxLength, w = t.minLength, A = t.name, r = t.onBlur, a = t.onClick, s = t.onFocus, p = t.onKeyDown, l = t.onKeyUp, g = t.onValueChange, S = t.padding, k = S === void 0 ? 0 : S, O = t.placeholder, T = t.preClassName, L = t.readOnly, D = t.required, K = t.style, z = t.tabSize, M = z === void 0 ? 2 : z, ie = t.textareaClassName, I = t.textareaId, $ = t.value, X = tt(t, ["autoFocus", "disabled", "form", "highlight", "ignoreTabKey", "insertSpaces", "maxLength", "minLength", "name", "onBlur", "onClick", "onFocus", "onKeyDown", "onKeyUp", "onValueChange", "padding", "placeholder", "preClassName", "readOnly", "required", "style", "tabSize", "textareaClassName", "textareaId", "value"]), F = U.useRef({
68
+ stack: [],
69
+ offset: -1
70
+ }), N = U.useRef(null), fe = U.useState(!0), Z = fe[0], ne = fe[1], ae = {
71
+ paddingTop: typeof k == "object" ? k.top : k,
72
+ paddingRight: typeof k == "object" ? k.right : k,
73
+ paddingBottom: typeof k == "object" ? k.bottom : k,
74
+ paddingLeft: typeof k == "object" ? k.left : k
75
+ }, Q = d($), G = function(c, _) {
76
+ return c.substring(0, _).split(`
77
+ `);
78
+ }, re = U.useCallback(function(c, _) {
79
+ var E, x, R;
80
+ _ === void 0 && (_ = !1);
81
+ var B = F.current, H = B.stack, ue = B.offset;
82
+ if (H.length && ue > -1) {
83
+ F.current.stack = H.slice(0, ue + 1);
84
+ var ce = F.current.stack.length;
85
+ if (ce > De) {
86
+ var se = ce - De;
87
+ F.current.stack = H.slice(se, ce), F.current.offset = Math.max(F.current.offset - se, 0);
88
+ }
89
+ }
90
+ var W = Date.now();
91
+ if (_) {
92
+ var te = F.current.stack[F.current.offset];
93
+ if (te && W - te.timestamp < rt) {
94
+ var pe = /[^a-z0-9]([a-z0-9]+)$/i, P = (E = G(te.value, te.selectionStart).pop()) === null || E === void 0 ? void 0 : E.match(pe), de = (x = G(c.value, c.selectionStart).pop()) === null || x === void 0 ? void 0 : x.match(pe);
95
+ if (P != null && P[1] && (!((R = de == null ? void 0 : de[1]) === null || R === void 0) && R.startsWith(P[1]))) {
96
+ F.current.stack[F.current.offset] = C(C({}, c), { timestamp: W });
97
+ return;
98
+ }
99
+ }
100
+ }
101
+ F.current.stack.push(C(C({}, c), { timestamp: W })), F.current.offset++;
102
+ }, []), oe = U.useCallback(function() {
103
+ var c = N.current;
104
+ if (c) {
105
+ var _ = c.value, E = c.selectionStart, x = c.selectionEnd;
106
+ re({
107
+ value: _,
108
+ selectionStart: E,
109
+ selectionEnd: x
110
+ });
111
+ }
112
+ }, [re]), J = function(c) {
113
+ var _ = N.current;
114
+ _ && (_.value = c.value, _.selectionStart = c.selectionStart, _.selectionEnd = c.selectionEnd, g == null || g(c.value));
115
+ }, ee = function(c) {
116
+ var _ = N.current, E = F.current.stack[F.current.offset];
117
+ E && _ && (F.current.stack[F.current.offset] = C(C({}, E), { selectionStart: _.selectionStart, selectionEnd: _.selectionEnd })), re(c), J(c);
118
+ }, le = function() {
119
+ var c = F.current, _ = c.stack, E = c.offset, x = _[E - 1];
120
+ x && (J(x), F.current.offset = Math.max(E - 1, 0));
121
+ }, Ze = function() {
122
+ var c = F.current, _ = c.stack, E = c.offset, x = _[E + 1];
123
+ x && (J(x), F.current.offset = Math.min(E + 1, _.length - 1));
124
+ }, We = function(c) {
125
+ if (!(p && (p(c), c.defaultPrevented))) {
126
+ c.key === "Escape" && c.currentTarget.blur();
127
+ var _ = c.currentTarget, E = _.value, x = _.selectionStart, R = _.selectionEnd, B = (m ? " " : " ").repeat(M);
128
+ if (c.key === "Tab" && !y && Z)
129
+ if (c.preventDefault(), c.shiftKey) {
130
+ var H = G(E, x), ue = H.length - 1, ce = G(E, R).length - 1, se = E.split(`
131
+ `).map(function(ge, Fe) {
132
+ return Fe >= ue && Fe <= ce && ge.startsWith(B) ? ge.substring(B.length) : ge;
133
+ }).join(`
134
+ `);
135
+ if (E !== se) {
136
+ var W = H[ue];
137
+ ee({
138
+ value: se,
139
+ // Move the start cursor if first line in selection was modified
140
+ // It was modified only if it started with a tab
141
+ selectionStart: W != null && W.startsWith(B) ? x - B.length : x,
142
+ // Move the end cursor by total number of characters removed
143
+ selectionEnd: R - (E.length - se.length)
144
+ });
145
+ }
146
+ } else if (x !== R) {
147
+ var H = G(E, x), te = H.length - 1, pe = G(E, R).length - 1, W = H[te];
148
+ ee({
149
+ value: E.split(`
150
+ `).map(function(Te, Re) {
151
+ return Re >= te && Re <= pe ? B + Te : Te;
152
+ }).join(`
153
+ `),
154
+ // Move the start cursor by number of characters added in first line of selection
155
+ // Don't move it if it there was no text before cursor
156
+ selectionStart: W && /\S/.test(W) ? x + B.length : x,
157
+ // Move the end cursor by total number of characters added
158
+ selectionEnd: R + B.length * (pe - te + 1)
159
+ });
160
+ } else {
161
+ var P = x + B.length;
162
+ ee({
163
+ // Insert tab character at caret
164
+ value: E.substring(0, x) + B + E.substring(R),
165
+ // Update caret position
166
+ selectionStart: P,
167
+ selectionEnd: P
168
+ });
169
+ }
170
+ else if (c.key === "Backspace") {
171
+ var de = x !== R, qe = E.substring(0, x);
172
+ if (qe.endsWith(B) && !de) {
173
+ c.preventDefault();
174
+ var P = x - B.length;
175
+ ee({
176
+ // Remove tab character at caret
177
+ value: E.substring(0, x - B.length) + E.substring(R),
178
+ // Update caret position
179
+ selectionStart: P,
180
+ selectionEnd: P
181
+ });
182
+ }
183
+ } else if (c.key === "Enter") {
184
+ if (x === R) {
185
+ var Ee = G(E, x).pop(), be = Ee == null ? void 0 : Ee.match(/^\s+/);
186
+ if (be != null && be[0]) {
187
+ c.preventDefault();
188
+ var Ae = `
189
+ ` + be[0], P = x + Ae.length;
190
+ ee({
191
+ // Insert indentation character at caret
192
+ value: E.substring(0, x) + Ae + E.substring(R),
193
+ // Update caret position
194
+ selectionStart: P,
195
+ selectionEnd: P
196
+ });
197
+ }
198
+ }
199
+ } else if (c.keyCode === Oe || c.keyCode === Ie || c.keyCode === Ce || c.keyCode === Le) {
200
+ var V = void 0;
201
+ c.keyCode === Oe && c.shiftKey ? V = ["(", ")"] : c.keyCode === Ie ? c.shiftKey ? V = ["{", "}"] : V = ["[", "]"] : c.keyCode === Ce ? c.shiftKey ? V = ['"', '"'] : V = ["'", "'"] : c.keyCode === Le && !c.shiftKey && (V = ["`", "`"]), x !== R && V && (c.preventDefault(), ee({
202
+ value: E.substring(0, x) + V[0] + E.substring(x, R) + V[1] + E.substring(R),
203
+ // Update caret position
204
+ selectionStart: x,
205
+ selectionEnd: R + 2
206
+ }));
207
+ } else (Se ? (
208
+ // Trigger undo with ⌘+Z on Mac
209
+ c.metaKey && c.keyCode === me
210
+ ) : (
211
+ // Trigger undo with Ctrl+Z on other platforms
212
+ c.ctrlKey && c.keyCode === me
213
+ )) && !c.shiftKey && !c.altKey ? (c.preventDefault(), le()) : (Se ? (
214
+ // Trigger redo with ⌘+Shift+Z on Mac
215
+ c.metaKey && c.keyCode === me && c.shiftKey
216
+ ) : ot ? (
217
+ // Trigger redo with Ctrl+Y on Windows
218
+ c.ctrlKey && c.keyCode === nt
219
+ ) : (
220
+ // Trigger redo with Ctrl+Shift+Z on other platforms
221
+ c.ctrlKey && c.keyCode === me && c.shiftKey
222
+ )) && !c.altKey ? (c.preventDefault(), Ze()) : c.keyCode === at && c.ctrlKey && (!Se || c.shiftKey) && (c.preventDefault(), ne(function(ge) {
223
+ return !ge;
224
+ }));
225
+ }
226
+ }, Ye = function(c) {
227
+ var _ = c.currentTarget, E = _.value, x = _.selectionStart, R = _.selectionEnd;
228
+ re({
229
+ value: E,
230
+ selectionStart: x,
231
+ selectionEnd: R
232
+ }, !0), g(E);
233
+ };
234
+ return U.useEffect(function() {
235
+ oe();
236
+ }, [oe]), U.useImperativeHandle(n, function() {
237
+ return {
238
+ get session() {
239
+ return {
240
+ history: F.current
241
+ };
242
+ },
243
+ set session(c) {
244
+ F.current = c.history;
245
+ }
246
+ };
247
+ }, []), U.createElement(
248
+ "div",
249
+ C({}, X, { style: C(C({}, ye.container), K) }),
250
+ U.createElement("pre", C({ className: T, "aria-hidden": "true", style: C(C(C({}, ye.editor), ye.highlight), ae) }, typeof Q == "string" ? { dangerouslySetInnerHTML: { __html: Q + "<br />" } } : { children: Q })),
251
+ U.createElement("textarea", { ref: function(c) {
252
+ return N.current = c;
253
+ }, style: C(C(C({}, ye.editor), ye.textarea), ae), className: he + (ie ? " ".concat(ie) : ""), id: I, value: $, onChange: Ye, onKeyDown: We, onClick: a, onKeyUp: l, onFocus: s, onBlur: r, disabled: u, form: v, maxLength: b, minLength: w, name: A, placeholder: O, readOnly: L, required: D, autoFocus: i, autoCapitalize: "off", autoComplete: "off", autoCorrect: "off", spellCheck: !1, "data-gramm": !1 }),
254
+ U.createElement("style", { dangerouslySetInnerHTML: { __html: st } })
255
+ );
256
+ }), ye = {
257
+ container: {
258
+ position: "relative",
259
+ textAlign: "left",
260
+ boxSizing: "border-box",
261
+ padding: 0,
262
+ overflow: "hidden"
263
+ },
264
+ textarea: {
265
+ position: "absolute",
266
+ top: 0,
267
+ left: 0,
268
+ height: "100%",
269
+ width: "100%",
270
+ resize: "none",
271
+ color: "inherit",
272
+ overflow: "hidden",
273
+ MozOsxFontSmoothing: "grayscale",
274
+ WebkitFontSmoothing: "antialiased",
275
+ WebkitTextFillColor: "transparent"
276
+ },
277
+ highlight: {
278
+ position: "relative",
279
+ pointerEvents: "none"
280
+ },
281
+ editor: {
282
+ margin: 0,
283
+ border: 0,
284
+ background: "none",
285
+ boxSizing: "inherit",
286
+ display: "inherit",
287
+ fontFamily: "inherit",
288
+ fontSize: "inherit",
289
+ fontStyle: "inherit",
290
+ fontVariantLigatures: "inherit",
291
+ fontWeight: "inherit",
292
+ letterSpacing: "inherit",
293
+ lineHeight: "inherit",
294
+ tabSize: "inherit",
295
+ textIndent: "inherit",
296
+ textRendering: "inherit",
297
+ textTransform: "inherit",
298
+ whiteSpace: "pre-wrap",
299
+ wordBreak: "keep-all",
300
+ overflowWrap: "break-word"
301
+ }
302
+ }, fn = ze.default = it, lt = Object.create, ke = Object.defineProperty, ut = Object.defineProperties, ct = Object.getOwnPropertyDescriptor, pt = Object.getOwnPropertyDescriptors, Me = Object.getOwnPropertyNames, ve = Object.getOwnPropertySymbols, dt = Object.getPrototypeOf, _e = Object.prototype.hasOwnProperty, Ue = Object.prototype.propertyIsEnumerable, Ne = (e, t, n) => t in e ? ke(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Y = (e, t) => {
303
+ for (var n in t || (t = {}))
304
+ _e.call(t, n) && Ne(e, n, t[n]);
305
+ if (ve)
306
+ for (var n of ve(t))
307
+ Ue.call(t, n) && Ne(e, n, t[n]);
308
+ return e;
309
+ }, we = (e, t) => ut(e, pt(t)), Ge = (e, t) => {
310
+ var n = {};
311
+ for (var i in e)
312
+ _e.call(e, i) && t.indexOf(i) < 0 && (n[i] = e[i]);
313
+ if (e != null && ve)
314
+ for (var i of ve(e))
315
+ t.indexOf(i) < 0 && Ue.call(e, i) && (n[i] = e[i]);
316
+ return n;
317
+ }, gt = (e, t) => function() {
318
+ return t || (0, e[Me(e)[0]])((t = { exports: {} }).exports, t), t.exports;
319
+ }, yt = (e, t) => {
320
+ for (var n in t)
321
+ ke(e, n, { get: t[n], enumerable: !0 });
322
+ }, ft = (e, t, n, i) => {
323
+ if (t && typeof t == "object" || typeof t == "function")
324
+ for (let u of Me(t))
325
+ !_e.call(e, u) && u !== n && ke(e, u, { get: () => t[u], enumerable: !(i = ct(t, u)) || i.enumerable });
326
+ return e;
327
+ }, bt = (e, t, n) => (n = e != null ? lt(dt(e)) : {}, ft(
328
+ // If the importer is in node compatibility mode or this is not an ESM
329
+ // file that has been converted to a CommonJS file using a Babel-
330
+ // compatible transform (i.e. "__esModule" has not been set), then set
331
+ // "default" to the CommonJS "module.exports" for node compatibility.
332
+ !e || !e.__esModule ? ke(n, "default", { value: e, enumerable: !0 }) : n,
333
+ e
334
+ )), mt = gt({
335
+ "../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e, t) {
336
+ var n = function() {
337
+ var i = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i, u = 0, v = {}, d = {
338
+ /**
339
+ * A namespace for utility methods.
340
+ *
341
+ * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may
342
+ * change or disappear at any time.
343
+ *
344
+ * @namespace
345
+ * @memberof Prism
346
+ */
347
+ util: {
348
+ encode: function r(a) {
349
+ return a instanceof h ? new h(a.type, r(a.content), a.alias) : Array.isArray(a) ? a.map(r) : a.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ");
350
+ },
351
+ /**
352
+ * Returns the name of the type of the given value.
353
+ *
354
+ * @param {any} o
355
+ * @returns {string}
356
+ * @example
357
+ * type(null) === 'Null'
358
+ * type(undefined) === 'Undefined'
359
+ * type(123) === 'Number'
360
+ * type('foo') === 'String'
361
+ * type(true) === 'Boolean'
362
+ * type([1, 2]) === 'Array'
363
+ * type({}) === 'Object'
364
+ * type(String) === 'Function'
365
+ * type(/abc+/) === 'RegExp'
366
+ */
367
+ type: function(r) {
368
+ return Object.prototype.toString.call(r).slice(8, -1);
369
+ },
370
+ /**
371
+ * Returns a unique number for the given object. Later calls will still return the same number.
372
+ *
373
+ * @param {Object} obj
374
+ * @returns {number}
375
+ */
376
+ objId: function(r) {
377
+ return r.__id || Object.defineProperty(r, "__id", { value: ++u }), r.__id;
378
+ },
379
+ /**
380
+ * Creates a deep clone of the given object.
381
+ *
382
+ * The main intended use of this function is to clone language definitions.
383
+ *
384
+ * @param {T} o
385
+ * @param {Record<number, any>} [visited]
386
+ * @returns {T}
387
+ * @template T
388
+ */
389
+ clone: function r(a, s) {
390
+ s = s || {};
391
+ var p, l;
392
+ switch (d.util.type(a)) {
393
+ case "Object":
394
+ if (l = d.util.objId(a), s[l])
395
+ return s[l];
396
+ p = /** @type {Record<string, any>} */
397
+ {}, s[l] = p;
398
+ for (var g in a)
399
+ a.hasOwnProperty(g) && (p[g] = r(a[g], s));
400
+ return (
401
+ /** @type {any} */
402
+ p
403
+ );
404
+ case "Array":
405
+ return l = d.util.objId(a), s[l] ? s[l] : (p = [], s[l] = p, a.forEach(function(S, k) {
406
+ p[k] = r(S, s);
407
+ }), /** @type {any} */
408
+ p);
409
+ default:
410
+ return a;
411
+ }
412
+ },
413
+ /**
414
+ * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.
415
+ *
416
+ * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.
417
+ *
418
+ * @param {Element} element
419
+ * @returns {string}
420
+ */
421
+ getLanguage: function(r) {
422
+ for (; r; ) {
423
+ var a = i.exec(r.className);
424
+ if (a)
425
+ return a[1].toLowerCase();
426
+ r = r.parentElement;
427
+ }
428
+ return "none";
429
+ },
430
+ /**
431
+ * Sets the Prism `language-xxxx` class of the given element.
432
+ *
433
+ * @param {Element} element
434
+ * @param {string} language
435
+ * @returns {void}
436
+ */
437
+ setLanguage: function(r, a) {
438
+ r.className = r.className.replace(RegExp(i, "gi"), ""), r.classList.add("language-" + a);
439
+ },
440
+ /**
441
+ * Returns whether a given class is active for `element`.
442
+ *
443
+ * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated
444
+ * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the
445
+ * given class is just the given class with a `no-` prefix.
446
+ *
447
+ * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is
448
+ * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its
449
+ * ancestors have the given class or the negated version of it, then the default activation will be returned.
450
+ *
451
+ * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated
452
+ * version of it, the class is considered active.
453
+ *
454
+ * @param {Element} element
455
+ * @param {string} className
456
+ * @param {boolean} [defaultActivation=false]
457
+ * @returns {boolean}
458
+ */
459
+ isActive: function(r, a, s) {
460
+ for (var p = "no-" + a; r; ) {
461
+ var l = r.classList;
462
+ if (l.contains(a))
463
+ return !0;
464
+ if (l.contains(p))
465
+ return !1;
466
+ r = r.parentElement;
467
+ }
468
+ return !!s;
469
+ }
470
+ },
471
+ /**
472
+ * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.
473
+ *
474
+ * @namespace
475
+ * @memberof Prism
476
+ * @public
477
+ */
478
+ languages: {
479
+ /**
480
+ * The grammar for plain, unformatted text.
481
+ */
482
+ plain: v,
483
+ plaintext: v,
484
+ text: v,
485
+ txt: v,
486
+ /**
487
+ * Creates a deep copy of the language with the given id and appends the given tokens.
488
+ *
489
+ * If a token in `redef` also appears in the copied language, then the existing token in the copied language
490
+ * will be overwritten at its original position.
491
+ *
492
+ * ## Best practices
493
+ *
494
+ * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)
495
+ * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to
496
+ * understand the language definition because, normally, the order of tokens matters in Prism grammars.
497
+ *
498
+ * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.
499
+ * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.
500
+ *
501
+ * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.
502
+ * @param {Grammar} redef The new tokens to append.
503
+ * @returns {Grammar} The new language created.
504
+ * @public
505
+ * @example
506
+ * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {
507
+ * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token
508
+ * // at its original position
509
+ * 'comment': { ... },
510
+ * // CSS doesn't have a 'color' token, so this token will be appended
511
+ * 'color': /\b(?:red|green|blue)\b/
512
+ * });
513
+ */
514
+ extend: function(r, a) {
515
+ var s = d.util.clone(d.languages[r]);
516
+ for (var p in a)
517
+ s[p] = a[p];
518
+ return s;
519
+ },
520
+ /**
521
+ * Inserts tokens _before_ another token in a language definition or any other grammar.
522
+ *
523
+ * ## Usage
524
+ *
525
+ * This helper method makes it easy to modify existing languages. For example, the CSS language definition
526
+ * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded
527
+ * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the
528
+ * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do
529
+ * this:
530
+ *
531
+ * ```js
532
+ * Prism.languages.markup.style = {
533
+ * // token
534
+ * };
535
+ * ```
536
+ *
537
+ * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens
538
+ * before existing tokens. For the CSS example above, you would use it like this:
539
+ *
540
+ * ```js
541
+ * Prism.languages.insertBefore('markup', 'cdata', {
542
+ * 'style': {
543
+ * // token
544
+ * }
545
+ * });
546
+ * ```
547
+ *
548
+ * ## Special cases
549
+ *
550
+ * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar
551
+ * will be ignored.
552
+ *
553
+ * This behavior can be used to insert tokens after `before`:
554
+ *
555
+ * ```js
556
+ * Prism.languages.insertBefore('markup', 'comment', {
557
+ * 'comment': Prism.languages.markup.comment,
558
+ * // tokens after 'comment'
559
+ * });
560
+ * ```
561
+ *
562
+ * ## Limitations
563
+ *
564
+ * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object
565
+ * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave
566
+ * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily
567
+ * deleting properties which is necessary to insert at arbitrary positions.
568
+ *
569
+ * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.
570
+ * Instead, it will create a new object and replace all references to the target object with the new one. This
571
+ * can be done without temporarily deleting properties, so the iteration order is well-defined.
572
+ *
573
+ * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if
574
+ * you hold the target object in a variable, then the value of the variable will not change.
575
+ *
576
+ * ```js
577
+ * var oldMarkup = Prism.languages.markup;
578
+ * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });
579
+ *
580
+ * assert(oldMarkup !== Prism.languages.markup);
581
+ * assert(newMarkup === Prism.languages.markup);
582
+ * ```
583
+ *
584
+ * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the
585
+ * object to be modified.
586
+ * @param {string} before The key to insert before.
587
+ * @param {Grammar} insert An object containing the key-value pairs to be inserted.
588
+ * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the
589
+ * object to be modified.
590
+ *
591
+ * Defaults to `Prism.languages`.
592
+ * @returns {Grammar} The new grammar object.
593
+ * @public
594
+ */
595
+ insertBefore: function(r, a, s, p) {
596
+ p = p || /** @type {any} */
597
+ d.languages;
598
+ var l = p[r], g = {};
599
+ for (var S in l)
600
+ if (l.hasOwnProperty(S)) {
601
+ if (S == a)
602
+ for (var k in s)
603
+ s.hasOwnProperty(k) && (g[k] = s[k]);
604
+ s.hasOwnProperty(S) || (g[S] = l[S]);
605
+ }
606
+ var O = p[r];
607
+ return p[r] = g, d.languages.DFS(d.languages, function(T, L) {
608
+ L === O && T != r && (this[T] = g);
609
+ }), g;
610
+ },
611
+ // Traverse a language definition with Depth First Search
612
+ DFS: function r(a, s, p, l) {
613
+ l = l || {};
614
+ var g = d.util.objId;
615
+ for (var S in a)
616
+ if (a.hasOwnProperty(S)) {
617
+ s.call(a, S, a[S], p || S);
618
+ var k = a[S], O = d.util.type(k);
619
+ O === "Object" && !l[g(k)] ? (l[g(k)] = !0, r(k, s, null, l)) : O === "Array" && !l[g(k)] && (l[g(k)] = !0, r(k, s, S, l));
620
+ }
621
+ }
622
+ },
623
+ plugins: {},
624
+ /**
625
+ * Low-level function, only use if you know what you’re doing. It accepts a string of text as input
626
+ * and the language definitions to use, and returns a string with the HTML produced.
627
+ *
628
+ * The following hooks will be run:
629
+ * 1. `before-tokenize`
630
+ * 2. `after-tokenize`
631
+ * 3. `wrap`: On each {@link Token}.
632
+ *
633
+ * @param {string} text A string with the code to be highlighted.
634
+ * @param {Grammar} grammar An object containing the tokens to use.
635
+ *
636
+ * Usually a language definition like `Prism.languages.markup`.
637
+ * @param {string} language The name of the language definition passed to `grammar`.
638
+ * @returns {string} The highlighted HTML.
639
+ * @memberof Prism
640
+ * @public
641
+ * @example
642
+ * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');
643
+ */
644
+ highlight: function(r, a, s) {
645
+ var p = {
646
+ code: r,
647
+ grammar: a,
648
+ language: s
649
+ };
650
+ if (d.hooks.run("before-tokenize", p), !p.grammar)
651
+ throw new Error('The language "' + p.language + '" has no grammar.');
652
+ return p.tokens = d.tokenize(p.code, p.grammar), d.hooks.run("after-tokenize", p), h.stringify(d.util.encode(p.tokens), p.language);
653
+ },
654
+ /**
655
+ * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input
656
+ * and the language definitions to use, and returns an array with the tokenized code.
657
+ *
658
+ * When the language definition includes nested tokens, the function is called recursively on each of these tokens.
659
+ *
660
+ * This method could be useful in other contexts as well, as a very crude parser.
661
+ *
662
+ * @param {string} text A string with the code to be highlighted.
663
+ * @param {Grammar} grammar An object containing the tokens to use.
664
+ *
665
+ * Usually a language definition like `Prism.languages.markup`.
666
+ * @returns {TokenStream} An array of strings and tokens, a token stream.
667
+ * @memberof Prism
668
+ * @public
669
+ * @example
670
+ * let code = `var foo = 0;`;
671
+ * let tokens = Prism.tokenize(code, Prism.languages.javascript);
672
+ * tokens.forEach(token => {
673
+ * if (token instanceof Prism.Token && token.type === 'number') {
674
+ * console.log(`Found numeric literal: ${token.content}`);
675
+ * }
676
+ * });
677
+ */
678
+ tokenize: function(r, a) {
679
+ var s = a.rest;
680
+ if (s) {
681
+ for (var p in s)
682
+ a[p] = s[p];
683
+ delete a.rest;
684
+ }
685
+ var l = new m();
686
+ return b(l, l.head, r), f(r, l, a, l.head, 0), A(l);
687
+ },
688
+ /**
689
+ * @namespace
690
+ * @memberof Prism
691
+ * @public
692
+ */
693
+ hooks: {
694
+ all: {},
695
+ /**
696
+ * Adds the given callback to the list of callbacks for the given hook.
697
+ *
698
+ * The callback will be invoked when the hook it is registered for is run.
699
+ * Hooks are usually directly run by a highlight function but you can also run hooks yourself.
700
+ *
701
+ * One callback function can be registered to multiple hooks and the same hook multiple times.
702
+ *
703
+ * @param {string} name The name of the hook.
704
+ * @param {HookCallback} callback The callback function which is given environment variables.
705
+ * @public
706
+ */
707
+ add: function(r, a) {
708
+ var s = d.hooks.all;
709
+ s[r] = s[r] || [], s[r].push(a);
710
+ },
711
+ /**
712
+ * Runs a hook invoking all registered callbacks with the given environment variables.
713
+ *
714
+ * Callbacks will be invoked synchronously and in the order in which they were registered.
715
+ *
716
+ * @param {string} name The name of the hook.
717
+ * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.
718
+ * @public
719
+ */
720
+ run: function(r, a) {
721
+ var s = d.hooks.all[r];
722
+ if (!(!s || !s.length))
723
+ for (var p = 0, l; l = s[p++]; )
724
+ l(a);
725
+ }
726
+ },
727
+ Token: h
728
+ };
729
+ function h(r, a, s, p) {
730
+ this.type = r, this.content = a, this.alias = s, this.length = (p || "").length | 0;
731
+ }
732
+ h.stringify = function r(a, s) {
733
+ if (typeof a == "string")
734
+ return a;
735
+ if (Array.isArray(a)) {
736
+ var p = "";
737
+ return a.forEach(function(O) {
738
+ p += r(O, s);
739
+ }), p;
740
+ }
741
+ var l = {
742
+ type: a.type,
743
+ content: r(a.content, s),
744
+ tag: "span",
745
+ classes: ["token", a.type],
746
+ attributes: {},
747
+ language: s
748
+ }, g = a.alias;
749
+ g && (Array.isArray(g) ? Array.prototype.push.apply(l.classes, g) : l.classes.push(g)), d.hooks.run("wrap", l);
750
+ var S = "";
751
+ for (var k in l.attributes)
752
+ S += " " + k + '="' + (l.attributes[k] || "").replace(/"/g, "&quot;") + '"';
753
+ return "<" + l.tag + ' class="' + l.classes.join(" ") + '"' + S + ">" + l.content + "</" + l.tag + ">";
754
+ };
755
+ function y(r, a, s, p) {
756
+ r.lastIndex = a;
757
+ var l = r.exec(s);
758
+ if (l && p && l[1]) {
759
+ var g = l[1].length;
760
+ l.index += g, l[0] = l[0].slice(g);
761
+ }
762
+ return l;
763
+ }
764
+ function f(r, a, s, p, l, g) {
765
+ for (var S in s)
766
+ if (!(!s.hasOwnProperty(S) || !s[S])) {
767
+ var k = s[S];
768
+ k = Array.isArray(k) ? k : [k];
769
+ for (var O = 0; O < k.length; ++O) {
770
+ if (g && g.cause == S + "," + O)
771
+ return;
772
+ var T = k[O], L = T.inside, D = !!T.lookbehind, K = !!T.greedy, z = T.alias;
773
+ if (K && !T.pattern.global) {
774
+ var M = T.pattern.toString().match(/[imsuy]*$/)[0];
775
+ T.pattern = RegExp(T.pattern.source, M + "g");
776
+ }
777
+ for (var ie = T.pattern || T, I = p.next, $ = l; I !== a.tail && !(g && $ >= g.reach); $ += I.value.length, I = I.next) {
778
+ var X = I.value;
779
+ if (a.length > r.length)
780
+ return;
781
+ if (!(X instanceof h)) {
782
+ var F = 1, N;
783
+ if (K) {
784
+ if (N = y(ie, $, r, D), !N || N.index >= r.length)
785
+ break;
786
+ var ae = N.index, fe = N.index + N[0].length, Z = $;
787
+ for (Z += I.value.length; ae >= Z; )
788
+ I = I.next, Z += I.value.length;
789
+ if (Z -= I.value.length, $ = Z, I.value instanceof h)
790
+ continue;
791
+ for (var ne = I; ne !== a.tail && (Z < fe || typeof ne.value == "string"); ne = ne.next)
792
+ F++, Z += ne.value.length;
793
+ F--, X = r.slice($, Z), N.index -= $;
794
+ } else if (N = y(ie, 0, X, D), !N)
795
+ continue;
796
+ var ae = N.index, Q = N[0], G = X.slice(0, ae), re = X.slice(ae + Q.length), oe = $ + X.length;
797
+ g && oe > g.reach && (g.reach = oe);
798
+ var J = I.prev;
799
+ G && (J = b(a, J, G), $ += G.length), w(a, J, F);
800
+ var ee = new h(S, L ? d.tokenize(Q, L) : Q, z, Q);
801
+ if (I = b(a, J, ee), re && b(a, I, re), F > 1) {
802
+ var le = {
803
+ cause: S + "," + O,
804
+ reach: oe
805
+ };
806
+ f(r, a, s, I.prev, $, le), g && le.reach > g.reach && (g.reach = le.reach);
807
+ }
808
+ }
809
+ }
810
+ }
811
+ }
812
+ }
813
+ function m() {
814
+ var r = { value: null, prev: null, next: null }, a = { value: null, prev: r, next: null };
815
+ r.next = a, this.head = r, this.tail = a, this.length = 0;
816
+ }
817
+ function b(r, a, s) {
818
+ var p = a.next, l = { value: s, prev: a, next: p };
819
+ return a.next = l, p.prev = l, r.length++, l;
820
+ }
821
+ function w(r, a, s) {
822
+ for (var p = a.next, l = 0; l < s && p !== r.tail; l++)
823
+ p = p.next;
824
+ a.next = p, p.prev = a, r.length -= l;
825
+ }
826
+ function A(r) {
827
+ for (var a = [], s = r.head.next; s !== r.tail; )
828
+ a.push(s.value), s = s.next;
829
+ return a;
830
+ }
831
+ return d;
832
+ }();
833
+ t.exports = n, n.default = n;
834
+ }
835
+ }), o = bt(mt());
836
+ o.languages.markup = { comment: { pattern: /<!--(?:(?!<!--)[\s\S])*?-->/, greedy: !0 }, prolog: { pattern: /<\?[\s\S]+?\?>/, greedy: !0 }, doctype: { pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i, greedy: !0, inside: { "internal-subset": { pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/, lookbehind: !0, greedy: !0, inside: null }, string: { pattern: /"[^"]*"|'[^']*'/, greedy: !0 }, punctuation: /^<!|>$|[[\]]/, "doctype-tag": /^DOCTYPE/i, name: /[^\s<>'"]+/ } }, cdata: { pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i, greedy: !0 }, tag: { pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/, greedy: !0, inside: { tag: { pattern: /^<\/?[^\s>\/]+/, inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } }, "special-attr": [], "attr-value": { pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: "attr-equals" }, { pattern: /^(\s*)["']|["']$/, lookbehind: !0 }] } }, punctuation: /\/?>/, "attr-name": { pattern: /[^\s>\/]+/, inside: { namespace: /^[^\s>\/:]+:/ } } } }, entity: [{ pattern: /&[\da-z]{1,8};/i, alias: "named-entity" }, /&#x?[\da-f]{1,8};/i] }, o.languages.markup.tag.inside["attr-value"].inside.entity = o.languages.markup.entity, o.languages.markup.doctype.inside["internal-subset"].inside = o.languages.markup, o.hooks.add("wrap", function(e) {
837
+ e.type === "entity" && (e.attributes.title = e.content.replace(/&amp;/, "&"));
838
+ }), Object.defineProperty(o.languages.markup.tag, "addInlined", { value: function(e, i) {
839
+ var n = {}, n = (n["language-" + i] = { pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i, lookbehind: !0, inside: o.languages[i] }, n.cdata = /^<!\[CDATA\[|\]\]>$/i, { "included-cdata": { pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i, inside: n } }), i = (n["language-" + i] = { pattern: /[\s\S]+/, inside: o.languages[i] }, {});
840
+ i[e] = { pattern: RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g, function() {
841
+ return e;
842
+ }), "i"), lookbehind: !0, greedy: !0, inside: n }, o.languages.insertBefore("markup", "cdata", i);
843
+ } }), Object.defineProperty(o.languages.markup.tag, "addAttribute", { value: function(e, t) {
844
+ o.languages.markup.tag.inside["special-attr"].push({ pattern: RegExp(/(^|["'\s])/.source + "(?:" + e + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source, "i"), lookbehind: !0, inside: { "attr-name": /^[^\s=]+/, "attr-value": { pattern: /=[\s\S]+/, inside: { value: { pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/, lookbehind: !0, alias: [t, "language-" + t], inside: o.languages[t] }, punctuation: [{ pattern: /^=/, alias: "attr-equals" }, /"|'/] } } } });
845
+ } }), o.languages.html = o.languages.markup, o.languages.mathml = o.languages.markup, o.languages.svg = o.languages.markup, o.languages.xml = o.languages.extend("markup", {}), o.languages.ssml = o.languages.xml, o.languages.atom = o.languages.xml, o.languages.rss = o.languages.xml, function(e) {
846
+ var t = { pattern: /\\[\\(){}[\]^$+*?|.]/, alias: "escape" }, n = /\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/, i = "(?:[^\\\\-]|" + n.source + ")", i = RegExp(i + "-" + i), u = { pattern: /(<|')[^<>']+(?=[>']$)/, lookbehind: !0, alias: "variable" };
847
+ e.languages.regex = { "char-class": { pattern: /((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/, lookbehind: !0, inside: { "char-class-negation": { pattern: /(^\[)\^/, lookbehind: !0, alias: "operator" }, "char-class-punctuation": { pattern: /^\[|\]$/, alias: "punctuation" }, range: { pattern: i, inside: { escape: n, "range-punctuation": { pattern: /-/, alias: "operator" } } }, "special-escape": t, "char-set": { pattern: /\\[wsd]|\\p\{[^{}]+\}/i, alias: "class-name" }, escape: n } }, "special-escape": t, "char-set": { pattern: /\.|\\[wsd]|\\p\{[^{}]+\}/i, alias: "class-name" }, backreference: [{ pattern: /\\(?![123][0-7]{2})[1-9]/, alias: "keyword" }, { pattern: /\\k<[^<>']+>/, alias: "keyword", inside: { "group-name": u } }], anchor: { pattern: /[$^]|\\[ABbGZz]/, alias: "function" }, escape: n, group: [{ pattern: /\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/, alias: "punctuation", inside: { "group-name": u } }, { pattern: /\)/, alias: "punctuation" }], quantifier: { pattern: /(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/, alias: "number" }, alternation: { pattern: /\|/, alias: "keyword" } };
848
+ }(o), o.languages.clike = { comment: [{ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0, greedy: !0 }, { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 }], string: { pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: !0 }, "class-name": { pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i, lookbehind: !0, inside: { punctuation: /[.\\]/ } }, keyword: /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/, boolean: /\b(?:false|true)\b/, function: /\b\w+(?=\()/, number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i, operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, punctuation: /[{}[\];(),.:]/ }, o.languages.javascript = o.languages.extend("clike", { "class-name": [o.languages.clike["class-name"], { pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/, lookbehind: !0 }], keyword: [{ pattern: /((?:^|\})\s*)catch\b/, lookbehind: !0 }, { pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, lookbehind: !0 }], function: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, number: { pattern: RegExp(/(^|[^\w$])/.source + "(?:" + /NaN|Infinity/.source + "|" + /0[bB][01]+(?:_[01]+)*n?/.source + "|" + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + "|" + /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + "|" + /\d+(?:_\d+)*n/.source + "|" + /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source + ")" + /(?![\w$])/.source), lookbehind: !0 }, operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/ }), o.languages.javascript["class-name"][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/, o.languages.insertBefore("javascript", "keyword", { regex: { pattern: RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source + /\//.source + "(?:" + /(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source + "|" + /(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source + ")" + /(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source), lookbehind: !0, greedy: !0, inside: { "regex-source": { pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/, lookbehind: !0, alias: "language-regex", inside: o.languages.regex }, "regex-delimiter": /^\/|\/$/, "regex-flags": /^[a-z]+$/ } }, "function-variable": { pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/, alias: "function" }, parameter: [{ pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/, lookbehind: !0, inside: o.languages.javascript }, { pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i, lookbehind: !0, inside: o.languages.javascript }, { pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/, lookbehind: !0, inside: o.languages.javascript }, { pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/, lookbehind: !0, inside: o.languages.javascript }], constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ }), o.languages.insertBefore("javascript", "string", { hashbang: { pattern: /^#!.*/, greedy: !0, alias: "comment" }, "template-string": { pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/, greedy: !0, inside: { "template-punctuation": { pattern: /^`|`$/, alias: "string" }, interpolation: { pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/, lookbehind: !0, inside: { "interpolation-punctuation": { pattern: /^\$\{|\}$/, alias: "punctuation" }, rest: o.languages.javascript } }, string: /[\s\S]+/ } }, "string-property": { pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m, lookbehind: !0, greedy: !0, alias: "property" } }), o.languages.insertBefore("javascript", "operator", { "literal-property": { pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m, lookbehind: !0, alias: "property" } }), o.languages.markup && (o.languages.markup.tag.addInlined("script", "javascript"), o.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source, "javascript")), o.languages.js = o.languages.javascript, o.languages.actionscript = o.languages.extend("javascript", { keyword: /\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/, operator: /\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/ }), o.languages.actionscript["class-name"].alias = "function", delete o.languages.actionscript.parameter, delete o.languages.actionscript["literal-property"], o.languages.markup && o.languages.insertBefore("actionscript", "string", { xml: { pattern: /(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/, lookbehind: !0, inside: o.languages.markup } }), function(e) {
849
+ var t = /#(?!\{).+/, n = { pattern: /#\{[^}]+\}/, alias: "variable" };
850
+ e.languages.coffeescript = e.languages.extend("javascript", { comment: t, string: [{ pattern: /'(?:\\[\s\S]|[^\\'])*'/, greedy: !0 }, { pattern: /"(?:\\[\s\S]|[^\\"])*"/, greedy: !0, inside: { interpolation: n } }], keyword: /\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/, "class-member": { pattern: /@(?!\d)\w+/, alias: "variable" } }), e.languages.insertBefore("coffeescript", "comment", { "multiline-comment": { pattern: /###[\s\S]+?###/, alias: "comment" }, "block-regex": { pattern: /\/{3}[\s\S]*?\/{3}/, alias: "regex", inside: { comment: t, interpolation: n } } }), e.languages.insertBefore("coffeescript", "string", { "inline-javascript": { pattern: /`(?:\\[\s\S]|[^\\`])*`/, inside: { delimiter: { pattern: /^`|`$/, alias: "punctuation" }, script: { pattern: /[\s\S]+/, alias: "language-javascript", inside: e.languages.javascript } } }, "multiline-string": [{ pattern: /'''[\s\S]*?'''/, greedy: !0, alias: "string" }, { pattern: /"""[\s\S]*?"""/, greedy: !0, alias: "string", inside: { interpolation: n } }] }), e.languages.insertBefore("coffeescript", "keyword", { property: /(?!\d)\w+(?=\s*:(?!:))/ }), delete e.languages.coffeescript["template-string"], e.languages.coffee = e.languages.coffeescript;
851
+ }(o), function(e) {
852
+ var t = e.languages.javadoclike = { parameter: { pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m, lookbehind: !0 }, keyword: { pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m, lookbehind: !0 }, punctuation: /[{}]/ };
853
+ Object.defineProperty(t, "addSupport", { value: function(n, i) {
854
+ (n = typeof n == "string" ? [n] : n).forEach(function(u) {
855
+ var v = function(b) {
856
+ b.inside || (b.inside = {}), b.inside.rest = i;
857
+ }, d = "doc-comment";
858
+ if (h = e.languages[u]) {
859
+ var h, y = h[d];
860
+ if ((y = y || (h = e.languages.insertBefore(u, "comment", { "doc-comment": { pattern: /(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/, lookbehind: !0, alias: "comment" } }))[d]) instanceof RegExp && (y = h[d] = { pattern: y }), Array.isArray(y))
861
+ for (var f = 0, m = y.length; f < m; f++)
862
+ y[f] instanceof RegExp && (y[f] = { pattern: y[f] }), v(y[f]);
863
+ else
864
+ v(y);
865
+ }
866
+ });
867
+ } }), t.addSupport(["java", "javascript", "php"], t);
868
+ }(o), function(e) {
869
+ var t = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/, t = (e.languages.css = { comment: /\/\*[\s\S]*?\*\//, atrule: { pattern: RegExp("@[\\w-](?:" + /[^;{\s"']|\s+(?!\s)/.source + "|" + t.source + ")*?" + /(?:;|(?=\s*\{))/.source), inside: { rule: /^@[\w-]+/, "selector-function-argument": { pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/, lookbehind: !0, alias: "selector" }, keyword: { pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/, lookbehind: !0 } } }, url: { pattern: RegExp("\\burl\\((?:" + t.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)", "i"), greedy: !0, inside: { function: /^url/i, punctuation: /^\(|\)$/, string: { pattern: RegExp("^" + t.source + "$"), alias: "url" } } }, selector: { pattern: RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` + t.source + ")*(?=\\s*\\{)"), lookbehind: !0 }, string: { pattern: t, greedy: !0 }, property: { pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i, lookbehind: !0 }, important: /!important\b/i, function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i, lookbehind: !0 }, punctuation: /[(){};:,]/ }, e.languages.css.atrule.inside.rest = e.languages.css, e.languages.markup);
870
+ t && (t.tag.addInlined("style", "css"), t.tag.addAttribute("style", "css"));
871
+ }(o), function(e) {
872
+ var t = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, t = (e.languages.css.selector = { pattern: e.languages.css.selector.pattern, lookbehind: !0, inside: t = { "pseudo-element": /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/, "pseudo-class": /:[-\w]+/, class: /\.[-\w]+/, id: /#[-\w]+/, attribute: { pattern: RegExp(`\\[(?:[^[\\]"']|` + t.source + ")*\\]"), greedy: !0, inside: { punctuation: /^\[|\]$/, "case-sensitivity": { pattern: /(\s)[si]$/i, lookbehind: !0, alias: "keyword" }, namespace: { pattern: /^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/, lookbehind: !0, inside: { punctuation: /\|$/ } }, "attr-name": { pattern: /^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/, lookbehind: !0 }, "attr-value": [t, { pattern: /(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/, lookbehind: !0 }], operator: /[|~*^$]?=/ } }, "n-th": [{ pattern: /(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/, lookbehind: !0, inside: { number: /[\dn]+/, operator: /[+-]/ } }, { pattern: /(\(\s*)(?:even|odd)(?=\s*\))/i, lookbehind: !0 }], combinator: />|\+|~|\|\|/, punctuation: /[(),]/ } }, e.languages.css.atrule.inside["selector-function-argument"].inside = t, e.languages.insertBefore("css", "property", { variable: { pattern: /(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i, lookbehind: !0 } }), { pattern: /(\b\d+)(?:%|[a-z]+(?![\w-]))/, lookbehind: !0 }), n = { pattern: /(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/, lookbehind: !0 };
873
+ e.languages.insertBefore("css", "function", { operator: { pattern: /(\s)[+\-*\/](?=\s)/, lookbehind: !0 }, hexcode: { pattern: /\B#[\da-f]{3,8}\b/i, alias: "color" }, color: [{ pattern: /(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i, lookbehind: !0 }, { pattern: /\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i, inside: { unit: t, number: n, function: /[\w-]+(?=\()/, punctuation: /[(),]/ } }], entity: /\\[\da-f]{1,8}/i, unit: t, number: n });
874
+ }(o), function(e) {
875
+ var t = /[*&][^\s[\]{},]+/, n = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/, i = "(?:" + n.source + "(?:[ ]+" + t.source + ")?|" + t.source + "(?:[ ]+" + n.source + ")?)", u = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {
876
+ return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
877
+ }), v = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
878
+ function d(h, y) {
879
+ y = (y || "").replace(/m/g, "") + "m";
880
+ var f = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
881
+ return i;
882
+ }).replace(/<<value>>/g, function() {
883
+ return h;
884
+ });
885
+ return RegExp(f, y);
886
+ }
887
+ e.languages.yaml = { scalar: { pattern: RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g, function() {
888
+ return i;
889
+ })), lookbehind: !0, alias: "string" }, comment: /#.*/, key: { pattern: RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g, function() {
890
+ return i;
891
+ }).replace(/<<key>>/g, function() {
892
+ return "(?:" + u + "|" + v + ")";
893
+ })), lookbehind: !0, greedy: !0, alias: "atrule" }, directive: { pattern: /(^[ \t]*)%.+/m, lookbehind: !0, alias: "important" }, datetime: { pattern: d(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source), lookbehind: !0, alias: "number" }, boolean: { pattern: d(/false|true/.source, "i"), lookbehind: !0, alias: "important" }, null: { pattern: d(/null|~/.source, "i"), lookbehind: !0, alias: "important" }, string: { pattern: d(v), lookbehind: !0, greedy: !0 }, number: { pattern: d(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source, "i"), lookbehind: !0 }, tag: n, important: t, punctuation: /---|[:[\]{}\-,|>?]|\.\.\./ }, e.languages.yml = e.languages.yaml;
894
+ }(o), function(e) {
895
+ var t = /(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;
896
+ function n(f) {
897
+ return f = f.replace(/<inner>/g, function() {
898
+ return t;
899
+ }), RegExp(/((?:^|[^\\])(?:\\{2})*)/.source + "(?:" + f + ")");
900
+ }
901
+ var i = /(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source, u = /\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g, function() {
902
+ return i;
903
+ }), v = /\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source, d = (e.languages.markdown = e.languages.extend("markup", {}), e.languages.insertBefore("markdown", "prolog", { "front-matter-block": { pattern: /(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/, lookbehind: !0, greedy: !0, inside: { punctuation: /^---|---$/, "front-matter": { pattern: /\S+(?:\s+\S+)*/, alias: ["yaml", "language-yaml"], inside: e.languages.yaml } } }, blockquote: { pattern: /^>(?:[\t ]*>)*/m, alias: "punctuation" }, table: { pattern: RegExp("^" + u + v + "(?:" + u + ")*", "m"), inside: { "table-data-rows": { pattern: RegExp("^(" + u + v + ")(?:" + u + ")*$"), lookbehind: !0, inside: { "table-data": { pattern: RegExp(i), inside: e.languages.markdown }, punctuation: /\|/ } }, "table-line": { pattern: RegExp("^(" + u + ")" + v + "$"), lookbehind: !0, inside: { punctuation: /\||:?-{3,}:?/ } }, "table-header-row": { pattern: RegExp("^" + u + "$"), inside: { "table-header": { pattern: RegExp(i), alias: "important", inside: e.languages.markdown }, punctuation: /\|/ } } } }, code: [{ pattern: /((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/, lookbehind: !0, alias: "keyword" }, { pattern: /^```[\s\S]*?^```$/m, greedy: !0, inside: { "code-block": { pattern: /^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m, lookbehind: !0 }, "code-language": { pattern: /^(```).+/, lookbehind: !0 }, punctuation: /```/ } }], title: [{ pattern: /\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m, alias: "important", inside: { punctuation: /==+$|--+$/ } }, { pattern: /(^\s*)#.+/m, lookbehind: !0, alias: "important", inside: { punctuation: /^#+|#+$/ } }], hr: { pattern: /(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m, lookbehind: !0, alias: "punctuation" }, list: { pattern: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m, lookbehind: !0, alias: "punctuation" }, "url-reference": { pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/, inside: { variable: { pattern: /^(!?\[)[^\]]+/, lookbehind: !0 }, string: /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/, punctuation: /^[\[\]!:]|[<>]/ }, alias: "url" }, bold: { pattern: n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^..)[\s\S]+(?=..$)/, lookbehind: !0, inside: {} }, punctuation: /\*\*|__/ } }, italic: { pattern: n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^.)[\s\S]+(?=.$)/, lookbehind: !0, inside: {} }, punctuation: /[*_]/ } }, strike: { pattern: n(/(~~?)(?:(?!~)<inner>)+\2/.source), lookbehind: !0, greedy: !0, inside: { content: { pattern: /(^~~?)[\s\S]+(?=\1$)/, lookbehind: !0, inside: {} }, punctuation: /~~?/ } }, "code-snippet": { pattern: /(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/, lookbehind: !0, greedy: !0, alias: ["code", "keyword"] }, url: { pattern: n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source), lookbehind: !0, greedy: !0, inside: { operator: /^!/, content: { pattern: /(^\[)[^\]]+(?=\])/, lookbehind: !0, inside: {} }, variable: { pattern: /(^\][ \t]?\[)[^\]]+(?=\]$)/, lookbehind: !0 }, url: { pattern: /(^\]\()[^\s)]+/, lookbehind: !0 }, string: { pattern: /(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/, lookbehind: !0 } } } }), ["url", "bold", "italic", "strike"].forEach(function(f) {
904
+ ["url", "bold", "italic", "strike", "code-snippet"].forEach(function(m) {
905
+ f !== m && (e.languages.markdown[f].inside.content.inside[m] = e.languages.markdown[m]);
906
+ });
907
+ }), e.hooks.add("after-tokenize", function(f) {
908
+ f.language !== "markdown" && f.language !== "md" || function m(b) {
909
+ if (b && typeof b != "string")
910
+ for (var w = 0, A = b.length; w < A; w++) {
911
+ var r, a = b[w];
912
+ a.type !== "code" ? m(a.content) : (r = a.content[1], a = a.content[3], r && a && r.type === "code-language" && a.type === "code-block" && typeof r.content == "string" && (r = r.content.replace(/\b#/g, "sharp").replace(/\b\+\+/g, "pp"), r = "language-" + (r = (/[a-z][\w-]*/i.exec(r) || [""])[0].toLowerCase()), a.alias ? typeof a.alias == "string" ? a.alias = [a.alias, r] : a.alias.push(r) : a.alias = [r]));
913
+ }
914
+ }(f.tokens);
915
+ }), e.hooks.add("wrap", function(f) {
916
+ if (f.type === "code-block") {
917
+ for (var m = "", b = 0, w = f.classes.length; b < w; b++) {
918
+ var A = f.classes[b], A = /language-(.+)/.exec(A);
919
+ if (A) {
920
+ m = A[1];
921
+ break;
922
+ }
923
+ }
924
+ var r, a = e.languages[m];
925
+ a ? f.content = e.highlight(function(s) {
926
+ return s = s.replace(d, ""), s = s.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi, function(p, l) {
927
+ var g;
928
+ return (l = l.toLowerCase())[0] === "#" ? (g = l[1] === "x" ? parseInt(l.slice(2), 16) : Number(l.slice(1)), y(g)) : h[l] || p;
929
+ });
930
+ }(f.content), a, m) : m && m !== "none" && e.plugins.autoloader && (r = "md-" + (/* @__PURE__ */ new Date()).valueOf() + "-" + Math.floor(1e16 * Math.random()), f.attributes.id = r, e.plugins.autoloader.loadLanguages(m, function() {
931
+ var s = document.getElementById(r);
932
+ s && (s.innerHTML = e.highlight(s.textContent, e.languages[m], m));
933
+ }));
934
+ }
935
+ }), RegExp(e.languages.markup.tag.pattern.source, "gi")), h = { amp: "&", lt: "<", gt: ">", quot: '"' }, y = String.fromCodePoint || String.fromCharCode;
936
+ e.languages.md = e.languages.markdown;
937
+ }(o), o.languages.graphql = { comment: /#.*/, description: { pattern: /(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i, greedy: !0, alias: "string", inside: { "language-markdown": { pattern: /(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/, lookbehind: !0, inside: o.languages.markdown } } }, string: { pattern: /"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/, greedy: !0 }, number: /(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, boolean: /\b(?:false|true)\b/, variable: /\$[a-z_]\w*/i, directive: { pattern: /@[a-z_]\w*/i, alias: "function" }, "attr-name": { pattern: /\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i, greedy: !0 }, "atom-input": { pattern: /\b[A-Z]\w*Input\b/, alias: "class-name" }, scalar: /\b(?:Boolean|Float|ID|Int|String)\b/, constant: /\b[A-Z][A-Z_\d]*\b/, "class-name": { pattern: /(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/, lookbehind: !0 }, fragment: { pattern: /(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/, lookbehind: !0, alias: "function" }, "definition-mutation": { pattern: /(\bmutation\s+)[a-zA-Z_]\w*/, lookbehind: !0, alias: "function" }, "definition-query": { pattern: /(\bquery\s+)[a-zA-Z_]\w*/, lookbehind: !0, alias: "function" }, keyword: /\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/, operator: /[!=|&]|\.{3}/, "property-query": /\w+(?=\s*\()/, object: /\w+(?=\s*\{)/, punctuation: /[!(){}\[\]:=,]/, property: /\w+/ }, o.hooks.add("after-tokenize", function(e) {
938
+ if (e.language === "graphql")
939
+ for (var t = e.tokens.filter(function(r) {
940
+ return typeof r != "string" && r.type !== "comment" && r.type !== "scalar";
941
+ }), n = 0; n < t.length; ) {
942
+ var i = t[n++];
943
+ if (i.type === "keyword" && i.content === "mutation") {
944
+ var u = [];
945
+ if (b(["definition-mutation", "punctuation"]) && m(1).content === "(") {
946
+ n += 2;
947
+ var v = w(/^\($/, /^\)$/);
948
+ if (v === -1)
949
+ continue;
950
+ for (; n < v; n++) {
951
+ var d = m(0);
952
+ d.type === "variable" && (A(d, "variable-input"), u.push(d.content));
953
+ }
954
+ n = v + 1;
955
+ }
956
+ if (b(["punctuation", "property-query"]) && m(0).content === "{" && (n++, A(m(0), "property-mutation"), 0 < u.length)) {
957
+ var h = w(/^\{$/, /^\}$/);
958
+ if (h !== -1)
959
+ for (var y = n; y < h; y++) {
960
+ var f = t[y];
961
+ f.type === "variable" && 0 <= u.indexOf(f.content) && A(f, "variable-input");
962
+ }
963
+ }
964
+ }
965
+ }
966
+ function m(r) {
967
+ return t[n + r];
968
+ }
969
+ function b(r, a) {
970
+ a = a || 0;
971
+ for (var s = 0; s < r.length; s++) {
972
+ var p = m(s + a);
973
+ if (!p || p.type !== r[s])
974
+ return;
975
+ }
976
+ return 1;
977
+ }
978
+ function w(r, a) {
979
+ for (var s = 1, p = n; p < t.length; p++) {
980
+ var l = t[p], g = l.content;
981
+ if (l.type === "punctuation" && typeof g == "string") {
982
+ if (r.test(g))
983
+ s++;
984
+ else if (a.test(g) && --s === 0)
985
+ return p;
986
+ }
987
+ }
988
+ return -1;
989
+ }
990
+ function A(r, a) {
991
+ var s = r.alias;
992
+ s ? Array.isArray(s) || (r.alias = s = [s]) : r.alias = s = [], s.push(a);
993
+ }
994
+ }), o.languages.sql = { comment: { pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/, lookbehind: !0 }, variable: [{ pattern: /@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, greedy: !0 }, /@[\w.$]+/], string: { pattern: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/, greedy: !0, lookbehind: !0 }, identifier: { pattern: /(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/, greedy: !0, lookbehind: !0, inside: { punctuation: /^`|`$/ } }, function: /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i, keyword: /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i, boolean: /\b(?:FALSE|NULL|TRUE)\b/i, number: /\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i, operator: /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, punctuation: /[;[\]()`,.]/ }, function(e) {
995
+ var t = e.languages.javascript["template-string"], n = t.pattern.source, i = t.inside.interpolation, u = i.inside["interpolation-punctuation"], v = i.pattern.source;
996
+ function d(b, w) {
997
+ if (e.languages[b])
998
+ return { pattern: RegExp("((?:" + w + ")\\s*)" + n), lookbehind: !0, greedy: !0, inside: { "template-punctuation": { pattern: /^`|`$/, alias: "string" }, "embedded-code": { pattern: /[\s\S]+/, alias: b } } };
999
+ }
1000
+ function h(b, w, A) {
1001
+ return b = { code: b, grammar: w, language: A }, e.hooks.run("before-tokenize", b), b.tokens = e.tokenize(b.code, b.grammar), e.hooks.run("after-tokenize", b), b.tokens;
1002
+ }
1003
+ function y(b, w, A) {
1004
+ var s = e.tokenize(b, { interpolation: { pattern: RegExp(v), lookbehind: !0 } }), r = 0, a = {}, s = h(s.map(function(l) {
1005
+ if (typeof l == "string")
1006
+ return l;
1007
+ for (var g, S, l = l.content; b.indexOf((S = r++, g = "___" + A.toUpperCase() + "_" + S + "___")) !== -1; )
1008
+ ;
1009
+ return a[g] = l, g;
1010
+ }).join(""), w, A), p = Object.keys(a);
1011
+ return r = 0, function l(g) {
1012
+ for (var S = 0; S < g.length; S++) {
1013
+ if (r >= p.length)
1014
+ return;
1015
+ var k, O, T, L, D, K, z, M = g[S];
1016
+ typeof M == "string" || typeof M.content == "string" ? (k = p[r], (z = (K = typeof M == "string" ? M : M.content).indexOf(k)) !== -1 && (++r, O = K.substring(0, z), D = a[k], T = void 0, (L = {})["interpolation-punctuation"] = u, (L = e.tokenize(D, L)).length === 3 && ((T = [1, 1]).push.apply(T, h(L[1], e.languages.javascript, "javascript")), L.splice.apply(L, T)), T = new e.Token("interpolation", L, i.alias, D), L = K.substring(z + k.length), D = [], O && D.push(O), D.push(T), L && (l(K = [L]), D.push.apply(D, K)), typeof M == "string" ? (g.splice.apply(g, [S, 1].concat(D)), S += D.length - 1) : M.content = D)) : (z = M.content, Array.isArray(z) ? l(z) : l([z]));
1017
+ }
1018
+ }(s), new e.Token(A, s, "language-" + A, b);
1019
+ }
1020
+ e.languages.javascript["template-string"] = [d("css", /\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source), d("html", /\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source), d("svg", /\bsvg/.source), d("markdown", /\b(?:markdown|md)/.source), d("graphql", /\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source), d("sql", /\bsql/.source), t].filter(Boolean);
1021
+ var f = { javascript: !0, js: !0, typescript: !0, ts: !0, jsx: !0, tsx: !0 };
1022
+ function m(b) {
1023
+ return typeof b == "string" ? b : Array.isArray(b) ? b.map(m).join("") : m(b.content);
1024
+ }
1025
+ e.hooks.add("after-tokenize", function(b) {
1026
+ b.language in f && function w(A) {
1027
+ for (var r = 0, a = A.length; r < a; r++) {
1028
+ var s, p, l, g = A[r];
1029
+ typeof g != "string" && (s = g.content, Array.isArray(s) ? g.type === "template-string" ? (g = s[1], s.length === 3 && typeof g != "string" && g.type === "embedded-code" && (p = m(g), g = g.alias, g = Array.isArray(g) ? g[0] : g, l = e.languages[g]) && (s[1] = y(p, l, g))) : w(s) : typeof s != "string" && w([s]));
1030
+ }
1031
+ }(b.tokens);
1032
+ });
1033
+ }(o), function(e) {
1034
+ e.languages.typescript = e.languages.extend("javascript", { "class-name": { pattern: /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/, lookbehind: !0, greedy: !0, inside: null }, builtin: /\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/ }), e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/, /\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/, /\btype\b(?=\s*(?:[\{*]|$))/), delete e.languages.typescript.parameter, delete e.languages.typescript["literal-property"];
1035
+ var t = e.languages.extend("typescript", {});
1036
+ delete t["class-name"], e.languages.typescript["class-name"].inside = t, e.languages.insertBefore("typescript", "function", { decorator: { pattern: /@[$\w\xA0-\uFFFF]+/, inside: { at: { pattern: /^@/, alias: "operator" }, function: /^[\s\S]+/ } }, "generic-function": { pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/, greedy: !0, inside: { function: /^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/, generic: { pattern: /<[\s\S]+/, alias: "class-name", inside: t } } } }), e.languages.ts = e.languages.typescript;
1037
+ }(o), function(e) {
1038
+ var t = e.languages.javascript, n = /\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source, i = "(@(?:arg|argument|param|property)\\s+(?:" + n + "\\s+)?)";
1039
+ e.languages.jsdoc = e.languages.extend("javadoclike", { parameter: { pattern: RegExp(i + /(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source), lookbehind: !0, inside: { punctuation: /\./ } } }), e.languages.insertBefore("jsdoc", "keyword", { "optional-parameter": { pattern: RegExp(i + /\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source), lookbehind: !0, inside: { parameter: { pattern: /(^\[)[$\w\xA0-\uFFFF\.]+/, lookbehind: !0, inside: { punctuation: /\./ } }, code: { pattern: /(=)[\s\S]*(?=\]$)/, lookbehind: !0, inside: t, alias: "language-javascript" }, punctuation: /[=[\]]/ } }, "class-name": [{ pattern: RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g, function() {
1040
+ return n;
1041
+ })), lookbehind: !0, inside: { punctuation: /\./ } }, { pattern: RegExp("(@[a-z]+\\s+)" + n), lookbehind: !0, inside: { string: t.string, number: t.number, boolean: t.boolean, keyword: e.languages.typescript.keyword, operator: /=>|\.\.\.|[&|?:*]/, punctuation: /[.,;=<>{}()[\]]/ } }], example: { pattern: /(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/, lookbehind: !0, inside: { code: { pattern: /^([\t ]*(?:\*\s*)?)\S.*$/m, lookbehind: !0, inside: t, alias: "language-javascript" } } } }), e.languages.javadoclike.addSupport("javascript", e.languages.jsdoc);
1042
+ }(o), function(e) {
1043
+ e.languages.flow = e.languages.extend("javascript", {}), e.languages.insertBefore("flow", "keyword", { type: [{ pattern: /\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/, alias: "class-name" }] }), e.languages.flow["function-variable"].pattern = /(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i, delete e.languages.flow.parameter, e.languages.insertBefore("flow", "operator", { "flow-punctuation": { pattern: /\{\||\|\}/, alias: "punctuation" } }), Array.isArray(e.languages.flow.keyword) || (e.languages.flow.keyword = [e.languages.flow.keyword]), e.languages.flow.keyword.unshift({ pattern: /(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/, lookbehind: !0 }, { pattern: /(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/, lookbehind: !0 });
1044
+ }(o), o.languages.n4js = o.languages.extend("javascript", { keyword: /\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/ }), o.languages.insertBefore("n4js", "constant", { annotation: { pattern: /@+\w+/, alias: "operator" } }), o.languages.n4jsd = o.languages.n4js, function(e) {
1045
+ function t(d, h) {
1046
+ return RegExp(d.replace(/<ID>/g, function() {
1047
+ return /(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source;
1048
+ }), h);
1049
+ }
1050
+ e.languages.insertBefore("javascript", "function-variable", { "method-variable": { pattern: RegExp("(\\.\\s*)" + e.languages.javascript["function-variable"].pattern.source), lookbehind: !0, alias: ["function-variable", "method", "function", "property-access"] } }), e.languages.insertBefore("javascript", "function", { method: { pattern: RegExp("(\\.\\s*)" + e.languages.javascript.function.source), lookbehind: !0, alias: ["function", "property-access"] } }), e.languages.insertBefore("javascript", "constant", { "known-class-name": [{ pattern: /\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/, alias: "class-name" }, { pattern: /\b(?:[A-Z]\w*)Error\b/, alias: "class-name" }] }), e.languages.insertBefore("javascript", "keyword", { imports: { pattern: t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source), lookbehind: !0, inside: e.languages.javascript }, exports: { pattern: t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source), lookbehind: !0, inside: e.languages.javascript } }), e.languages.javascript.keyword.unshift({ pattern: /\b(?:as|default|export|from|import)\b/, alias: "module" }, { pattern: /\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/, alias: "control-flow" }, { pattern: /\bnull\b/, alias: ["null", "nil"] }, { pattern: /\bundefined\b/, alias: "nil" }), e.languages.insertBefore("javascript", "operator", { spread: { pattern: /\.{3}/, alias: "operator" }, arrow: { pattern: /=>/, alias: "operator" } }), e.languages.insertBefore("javascript", "punctuation", { "property-access": { pattern: t(/(\.\s*)#?<ID>/.source), lookbehind: !0 }, "maybe-class-name": { pattern: /(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/, lookbehind: !0 }, dom: { pattern: /\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/, alias: "variable" }, console: { pattern: /\bconsole(?=\s*\.)/, alias: "class-name" } });
1051
+ for (var n = ["function", "function-variable", "method", "method-variable", "property-access"], i = 0; i < n.length; i++) {
1052
+ var v = n[i], u = e.languages.javascript[v], v = (u = e.util.type(u) === "RegExp" ? e.languages.javascript[v] = { pattern: u } : u).inside || {};
1053
+ (u.inside = v)["maybe-class-name"] = /^[A-Z][\s\S]*/;
1054
+ }
1055
+ }(o), function(e) {
1056
+ var t = e.util.clone(e.languages.javascript), n = /(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source, i = /(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source, u = /(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;
1057
+ function v(y, f) {
1058
+ return y = y.replace(/<S>/g, function() {
1059
+ return n;
1060
+ }).replace(/<BRACES>/g, function() {
1061
+ return i;
1062
+ }).replace(/<SPREAD>/g, function() {
1063
+ return u;
1064
+ }), RegExp(y, f);
1065
+ }
1066
+ u = v(u).source, e.languages.jsx = e.languages.extend("markup", t), e.languages.jsx.tag.pattern = v(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source), e.languages.jsx.tag.inside.tag.pattern = /^<\/?[^\s>\/]*/, e.languages.jsx.tag.inside["attr-value"].pattern = /=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/, e.languages.jsx.tag.inside.tag.inside["class-name"] = /^[A-Z]\w*(?:\.[A-Z]\w*)*$/, e.languages.jsx.tag.inside.comment = t.comment, e.languages.insertBefore("inside", "attr-name", { spread: { pattern: v(/<SPREAD>/.source), inside: e.languages.jsx } }, e.languages.jsx.tag), e.languages.insertBefore("inside", "special-attr", { script: { pattern: v(/=<BRACES>/.source), alias: "language-javascript", inside: { "script-punctuation": { pattern: /^=(?=\{)/, alias: "punctuation" }, rest: e.languages.jsx } } }, e.languages.jsx.tag);
1067
+ function d(y) {
1068
+ for (var f = [], m = 0; m < y.length; m++) {
1069
+ var b = y[m], w = !1;
1070
+ typeof b != "string" && (b.type === "tag" && b.content[0] && b.content[0].type === "tag" ? b.content[0].content[0].content === "</" ? 0 < f.length && f[f.length - 1].tagName === h(b.content[0].content[1]) && f.pop() : b.content[b.content.length - 1].content !== "/>" && f.push({ tagName: h(b.content[0].content[1]), openedBraces: 0 }) : 0 < f.length && b.type === "punctuation" && b.content === "{" ? f[f.length - 1].openedBraces++ : 0 < f.length && 0 < f[f.length - 1].openedBraces && b.type === "punctuation" && b.content === "}" ? f[f.length - 1].openedBraces-- : w = !0), (w || typeof b == "string") && 0 < f.length && f[f.length - 1].openedBraces === 0 && (w = h(b), m < y.length - 1 && (typeof y[m + 1] == "string" || y[m + 1].type === "plain-text") && (w += h(y[m + 1]), y.splice(m + 1, 1)), 0 < m && (typeof y[m - 1] == "string" || y[m - 1].type === "plain-text") && (w = h(y[m - 1]) + w, y.splice(m - 1, 1), m--), y[m] = new e.Token("plain-text", w, null, w)), b.content && typeof b.content != "string" && d(b.content);
1071
+ }
1072
+ }
1073
+ var h = function(y) {
1074
+ return y ? typeof y == "string" ? y : typeof y.content == "string" ? y.content : y.content.map(h).join("") : "";
1075
+ };
1076
+ e.hooks.add("after-tokenize", function(y) {
1077
+ y.language !== "jsx" && y.language !== "tsx" || d(y.tokens);
1078
+ });
1079
+ }(o), function(e) {
1080
+ var t = e.util.clone(e.languages.typescript), t = (e.languages.tsx = e.languages.extend("jsx", t), delete e.languages.tsx.parameter, delete e.languages.tsx["literal-property"], e.languages.tsx.tag);
1081
+ t.pattern = RegExp(/(^|[^\w$]|(?=<\/))/.source + "(?:" + t.pattern.source + ")", t.pattern.flags), t.lookbehind = !0;
1082
+ }(o), o.languages.swift = { comment: { pattern: /(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/, lookbehind: !0, greedy: !0 }, "string-literal": [{ pattern: RegExp(/(^|[^"#])/.source + "(?:" + /"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source + "|" + /"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source + ")" + /(?!["#])/.source), lookbehind: !0, greedy: !0, inside: { interpolation: { pattern: /(\\\()(?:[^()]|\([^()]*\))*(?=\))/, lookbehind: !0, inside: null }, "interpolation-punctuation": { pattern: /^\)|\\\($/, alias: "punctuation" }, punctuation: /\\(?=[\r\n])/, string: /[\s\S]+/ } }, { pattern: RegExp(/(^|[^"#])(#+)/.source + "(?:" + /"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source + "|" + /"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source + ")\\2"), lookbehind: !0, greedy: !0, inside: { interpolation: { pattern: /(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/, lookbehind: !0, inside: null }, "interpolation-punctuation": { pattern: /^\)|\\#+\($/, alias: "punctuation" }, string: /[\s\S]+/ } }], directive: { pattern: RegExp(/#/.source + "(?:" + /(?:elseif|if)\b/.source + "(?:[ ]*" + /(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source + ")+|" + /(?:else|endif)\b/.source + ")"), alias: "property", inside: { "directive-name": /^#\w+/, boolean: /\b(?:false|true)\b/, number: /\b\d+(?:\.\d+)*\b/, operator: /!|&&|\|\||[<>]=?/, punctuation: /[(),]/ } }, literal: { pattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/, alias: "constant" }, "other-directive": { pattern: /#\w+\b/, alias: "property" }, attribute: { pattern: /@\w+/, alias: "atrule" }, "function-definition": { pattern: /(\bfunc\s+)\w+/, lookbehind: !0, alias: "function" }, label: { pattern: /\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/, lookbehind: !0, alias: "important" }, keyword: /\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/, boolean: /\b(?:false|true)\b/, nil: { pattern: /\bnil\b/, alias: "constant" }, "short-argument": /\$\d+\b/, omit: { pattern: /\b_\b/, alias: "keyword" }, number: /\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i, "class-name": /\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/, function: /\b[a-z_]\w*(?=\s*\()/i, constant: /\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/, operator: /[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/, punctuation: /[{}[\]();,.:\\]/ }, o.languages.swift["string-literal"].forEach(function(e) {
1083
+ e.inside.interpolation.inside = o.languages.swift;
1084
+ }), function(e) {
1085
+ e.languages.kotlin = e.languages.extend("clike", { keyword: { pattern: /(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/, lookbehind: !0 }, function: [{ pattern: /(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/, greedy: !0 }, { pattern: /(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/, lookbehind: !0, greedy: !0 }], number: /\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/, operator: /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/ }), delete e.languages.kotlin["class-name"];
1086
+ var t = { "interpolation-punctuation": { pattern: /^\$\{?|\}$/, alias: "punctuation" }, expression: { pattern: /[\s\S]+/, inside: e.languages.kotlin } };
1087
+ e.languages.insertBefore("kotlin", "string", { "string-literal": [{ pattern: /"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/, alias: "multiline", inside: { interpolation: { pattern: /\$(?:[a-z_]\w*|\{[^{}]*\})/i, inside: t }, string: /[\s\S]+/ } }, { pattern: /"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/, alias: "singleline", inside: { interpolation: { pattern: /((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i, lookbehind: !0, inside: t }, string: /[\s\S]+/ } }], char: { pattern: /'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/, greedy: !0 } }), delete e.languages.kotlin.string, e.languages.insertBefore("kotlin", "keyword", { annotation: { pattern: /\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/, alias: "builtin" } }), e.languages.insertBefore("kotlin", "function", { label: { pattern: /\b\w+@|@\w+\b/, alias: "symbol" } }), e.languages.kt = e.languages.kotlin, e.languages.kts = e.languages.kotlin;
1088
+ }(o), o.languages.c = o.languages.extend("clike", { comment: { pattern: /\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/, greedy: !0 }, string: { pattern: /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, greedy: !0 }, "class-name": { pattern: /(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/, lookbehind: !0 }, keyword: /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/, function: /\b[a-z_]\w*(?=\s*\()/i, number: /(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i, operator: />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/ }), o.languages.insertBefore("c", "string", { char: { pattern: /'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/, greedy: !0 } }), o.languages.insertBefore("c", "string", { macro: { pattern: /(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im, lookbehind: !0, greedy: !0, alias: "property", inside: { string: [{ pattern: /^(#\s*include\s*)<[^>]+>/, lookbehind: !0 }, o.languages.c.string], char: o.languages.c.char, comment: o.languages.c.comment, "macro-name": [{ pattern: /(^#\s*define\s+)\w+\b(?!\()/i, lookbehind: !0 }, { pattern: /(^#\s*define\s+)\w+\b(?=\()/i, lookbehind: !0, alias: "function" }], directive: { pattern: /^(#\s*)[a-z]+/, lookbehind: !0, alias: "keyword" }, "directive-hash": /^#/, punctuation: /##|\\(?=[\r\n])/, expression: { pattern: /\S[\s\S]*/, inside: o.languages.c } } } }), o.languages.insertBefore("c", "function", { constant: /\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/ }), delete o.languages.c.boolean, o.languages.objectivec = o.languages.extend("c", { string: { pattern: /@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, greedy: !0 }, keyword: /\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/, operator: /-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/ }), delete o.languages.objectivec["class-name"], o.languages.objc = o.languages.objectivec, o.languages.reason = o.languages.extend("clike", { string: { pattern: /"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/, greedy: !0 }, "class-name": /\b[A-Z]\w*/, keyword: /\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/, operator: /\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/ }), o.languages.insertBefore("reason", "class-name", { char: { pattern: /'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/, greedy: !0 }, constructor: /\b[A-Z]\w*\b(?!\s*\.)/, label: { pattern: /\b[a-z]\w*(?=::)/, alias: "symbol" } }), delete o.languages.reason.function, function(e) {
1089
+ for (var t = /\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source, n = 0; n < 2; n++)
1090
+ t = t.replace(/<self>/g, function() {
1091
+ return t;
1092
+ });
1093
+ t = t.replace(/<self>/g, function() {
1094
+ return /[^\s\S]/.source;
1095
+ }), e.languages.rust = { comment: [{ pattern: RegExp(/(^|[^\\])/.source + t), lookbehind: !0, greedy: !0 }, { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 }], string: { pattern: /b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/, greedy: !0 }, char: { pattern: /b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/, greedy: !0 }, attribute: { pattern: /#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/, greedy: !0, alias: "attr-name", inside: { string: null } }, "closure-params": { pattern: /([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/, lookbehind: !0, greedy: !0, inside: { "closure-punctuation": { pattern: /^\||\|$/, alias: "punctuation" }, rest: null } }, "lifetime-annotation": { pattern: /'\w+/, alias: "symbol" }, "fragment-specifier": { pattern: /(\$\w+:)[a-z]+/, lookbehind: !0, alias: "punctuation" }, variable: /\$\w+/, "function-definition": { pattern: /(\bfn\s+)\w+/, lookbehind: !0, alias: "function" }, "type-definition": { pattern: /(\b(?:enum|struct|trait|type|union)\s+)\w+/, lookbehind: !0, alias: "class-name" }, "module-declaration": [{ pattern: /(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/, lookbehind: !0, alias: "namespace" }, { pattern: /(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/, lookbehind: !0, alias: "namespace", inside: { punctuation: /::/ } }], keyword: [/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/, /\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/], function: /\b[a-z_]\w*(?=\s*(?:::\s*<|\())/, macro: { pattern: /\b\w+!/, alias: "property" }, constant: /\b[A-Z_][A-Z_\d]+\b/, "class-name": /\b[A-Z]\w*\b/, namespace: { pattern: /(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/, inside: { punctuation: /::/ } }, number: /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/, boolean: /\b(?:false|true)\b/, punctuation: /->|\.\.=|\.{1,3}|::|[{}[\];(),:]/, operator: /[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/ }, e.languages.rust["closure-params"].inside.rest = e.languages.rust, e.languages.rust.attribute.inside.string = e.languages.rust.string;
1096
+ }(o), o.languages.go = o.languages.extend("clike", { string: { pattern: /(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/, lookbehind: !0, greedy: !0 }, keyword: /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/, boolean: /\b(?:_|false|iota|nil|true)\b/, number: [/\b0(?:b[01_]+|o[0-7_]+)i?\b/i, /\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i, /(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i], operator: /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./, builtin: /\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/ }), o.languages.insertBefore("go", "string", { char: { pattern: /'(?:\\.|[^'\\\r\n]){0,10}'/, greedy: !0 } }), delete o.languages.go["class-name"], function(e) {
1097
+ var t = /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, n = /\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g, function() {
1098
+ return t.source;
1099
+ });
1100
+ e.languages.cpp = e.languages.extend("c", { "class-name": [{ pattern: RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g, function() {
1101
+ return t.source;
1102
+ })), lookbehind: !0 }, /\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/, /\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i, /\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/], keyword: t, number: { pattern: /(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i, greedy: !0 }, operator: />>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/, boolean: /\b(?:false|true)\b/ }), e.languages.insertBefore("cpp", "string", { module: { pattern: RegExp(/(\b(?:import|module)\s+)/.source + "(?:" + /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source + "|" + /<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g, function() {
1103
+ return n;
1104
+ }) + ")"), lookbehind: !0, greedy: !0, inside: { string: /^[<"][\s\S]+/, operator: /:/, punctuation: /\./ } }, "raw-string": { pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/, alias: "string", greedy: !0 } }), e.languages.insertBefore("cpp", "keyword", { "generic-function": { pattern: /\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i, inside: { function: /^\w+/, generic: { pattern: /<[\s\S]+/, alias: "class-name", inside: e.languages.cpp } } } }), e.languages.insertBefore("cpp", "operator", { "double-colon": { pattern: /::/, alias: "punctuation" } }), e.languages.insertBefore("cpp", "class-name", { "base-clause": { pattern: /(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/, lookbehind: !0, greedy: !0, inside: e.languages.extend("cpp", {}) } }), e.languages.insertBefore("inside", "double-colon", { "class-name": /\b[a-z_]\w*\b(?!\s*::)/i }, e.languages.cpp["base-clause"]);
1105
+ }(o), o.languages.python = { comment: { pattern: /(^|[^\\])#.*/, lookbehind: !0, greedy: !0 }, "string-interpolation": { pattern: /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i, greedy: !0, inside: { interpolation: { pattern: /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/, lookbehind: !0, inside: { "format-spec": { pattern: /(:)[^:(){}]+(?=\}$)/, lookbehind: !0 }, "conversion-option": { pattern: /![sra](?=[:}]$)/, alias: "punctuation" }, rest: null } }, string: /[\s\S]+/ } }, "triple-quoted-string": { pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i, greedy: !0, alias: "string" }, string: { pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i, greedy: !0 }, function: { pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g, lookbehind: !0 }, "class-name": { pattern: /(\bclass\s+)\w+/i, lookbehind: !0 }, decorator: { pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m, lookbehind: !0, alias: ["annotation", "punctuation"], inside: { punctuation: /\./ } }, keyword: /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/, builtin: /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, boolean: /\b(?:False|None|True)\b/, number: /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i, operator: /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/, punctuation: /[{}[\];(),.:]/ }, o.languages.python["string-interpolation"].inside.interpolation.inside.rest = o.languages.python, o.languages.py = o.languages.python, o.languages.json = { property: { pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/, lookbehind: !0, greedy: !0 }, string: { pattern: /(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, lookbehind: !0, greedy: !0 }, comment: { pattern: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/, greedy: !0 }, number: /-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i, punctuation: /[{}[\],]/, operator: /:/, boolean: /\b(?:false|true)\b/, null: { pattern: /\bnull\b/, alias: "keyword" } }, o.languages.webmanifest = o.languages.json;
1106
+ var ht = {};
1107
+ yt(ht, {
1108
+ dracula: () => kt,
1109
+ duotoneDark: () => Et,
1110
+ duotoneLight: () => xt,
1111
+ github: () => At,
1112
+ gruvboxMaterialDark: () => tn,
1113
+ gruvboxMaterialLight: () => an,
1114
+ jettwaveDark: () => Yt,
1115
+ jettwaveLight: () => Ht,
1116
+ nightOwl: () => Tt,
1117
+ nightOwlLight: () => Ot,
1118
+ oceanicNext: () => Ct,
1119
+ okaidia: () => Dt,
1120
+ oneDark: () => Xt,
1121
+ oneLight: () => Jt,
1122
+ palenight: () => Bt,
1123
+ shadesOfPurple: () => Pt,
1124
+ synthwave84: () => zt,
1125
+ ultramin: () => Ut,
1126
+ vsDark: () => Ke,
1127
+ vsLight: () => Zt
1128
+ });
1129
+ var vt = {
1130
+ plain: {
1131
+ color: "#F8F8F2",
1132
+ backgroundColor: "#282A36"
1133
+ },
1134
+ styles: [
1135
+ {
1136
+ types: ["prolog", "constant", "builtin"],
1137
+ style: {
1138
+ color: "rgb(189, 147, 249)"
1139
+ }
1140
+ },
1141
+ {
1142
+ types: ["inserted", "function"],
1143
+ style: {
1144
+ color: "rgb(80, 250, 123)"
1145
+ }
1146
+ },
1147
+ {
1148
+ types: ["deleted"],
1149
+ style: {
1150
+ color: "rgb(255, 85, 85)"
1151
+ }
1152
+ },
1153
+ {
1154
+ types: ["changed"],
1155
+ style: {
1156
+ color: "rgb(255, 184, 108)"
1157
+ }
1158
+ },
1159
+ {
1160
+ types: ["punctuation", "symbol"],
1161
+ style: {
1162
+ color: "rgb(248, 248, 242)"
1163
+ }
1164
+ },
1165
+ {
1166
+ types: ["string", "char", "tag", "selector"],
1167
+ style: {
1168
+ color: "rgb(255, 121, 198)"
1169
+ }
1170
+ },
1171
+ {
1172
+ types: ["keyword", "variable"],
1173
+ style: {
1174
+ color: "rgb(189, 147, 249)",
1175
+ fontStyle: "italic"
1176
+ }
1177
+ },
1178
+ {
1179
+ types: ["comment"],
1180
+ style: {
1181
+ color: "rgb(98, 114, 164)"
1182
+ }
1183
+ },
1184
+ {
1185
+ types: ["attr-name"],
1186
+ style: {
1187
+ color: "rgb(241, 250, 140)"
1188
+ }
1189
+ }
1190
+ ]
1191
+ }, kt = vt, wt = {
1192
+ plain: {
1193
+ backgroundColor: "#2a2734",
1194
+ color: "#9a86fd"
1195
+ },
1196
+ styles: [
1197
+ {
1198
+ types: ["comment", "prolog", "doctype", "cdata", "punctuation"],
1199
+ style: {
1200
+ color: "#6c6783"
1201
+ }
1202
+ },
1203
+ {
1204
+ types: ["namespace"],
1205
+ style: {
1206
+ opacity: 0.7
1207
+ }
1208
+ },
1209
+ {
1210
+ types: ["tag", "operator", "number"],
1211
+ style: {
1212
+ color: "#e09142"
1213
+ }
1214
+ },
1215
+ {
1216
+ types: ["property", "function"],
1217
+ style: {
1218
+ color: "#9a86fd"
1219
+ }
1220
+ },
1221
+ {
1222
+ types: ["tag-id", "selector", "atrule-id"],
1223
+ style: {
1224
+ color: "#eeebff"
1225
+ }
1226
+ },
1227
+ {
1228
+ types: ["attr-name"],
1229
+ style: {
1230
+ color: "#c4b9fe"
1231
+ }
1232
+ },
1233
+ {
1234
+ types: [
1235
+ "boolean",
1236
+ "string",
1237
+ "entity",
1238
+ "url",
1239
+ "attr-value",
1240
+ "keyword",
1241
+ "control",
1242
+ "directive",
1243
+ "unit",
1244
+ "statement",
1245
+ "regex",
1246
+ "atrule",
1247
+ "placeholder",
1248
+ "variable"
1249
+ ],
1250
+ style: {
1251
+ color: "#ffcc99"
1252
+ }
1253
+ },
1254
+ {
1255
+ types: ["deleted"],
1256
+ style: {
1257
+ textDecorationLine: "line-through"
1258
+ }
1259
+ },
1260
+ {
1261
+ types: ["inserted"],
1262
+ style: {
1263
+ textDecorationLine: "underline"
1264
+ }
1265
+ },
1266
+ {
1267
+ types: ["italic"],
1268
+ style: {
1269
+ fontStyle: "italic"
1270
+ }
1271
+ },
1272
+ {
1273
+ types: ["important", "bold"],
1274
+ style: {
1275
+ fontWeight: "bold"
1276
+ }
1277
+ },
1278
+ {
1279
+ types: ["important"],
1280
+ style: {
1281
+ color: "#c4b9fe"
1282
+ }
1283
+ }
1284
+ ]
1285
+ }, Et = wt, St = {
1286
+ plain: {
1287
+ backgroundColor: "#faf8f5",
1288
+ color: "#728fcb"
1289
+ },
1290
+ styles: [
1291
+ {
1292
+ types: ["comment", "prolog", "doctype", "cdata", "punctuation"],
1293
+ style: {
1294
+ color: "#b6ad9a"
1295
+ }
1296
+ },
1297
+ {
1298
+ types: ["namespace"],
1299
+ style: {
1300
+ opacity: 0.7
1301
+ }
1302
+ },
1303
+ {
1304
+ types: ["tag", "operator", "number"],
1305
+ style: {
1306
+ color: "#063289"
1307
+ }
1308
+ },
1309
+ {
1310
+ types: ["property", "function"],
1311
+ style: {
1312
+ color: "#b29762"
1313
+ }
1314
+ },
1315
+ {
1316
+ types: ["tag-id", "selector", "atrule-id"],
1317
+ style: {
1318
+ color: "#2d2006"
1319
+ }
1320
+ },
1321
+ {
1322
+ types: ["attr-name"],
1323
+ style: {
1324
+ color: "#896724"
1325
+ }
1326
+ },
1327
+ {
1328
+ types: [
1329
+ "boolean",
1330
+ "string",
1331
+ "entity",
1332
+ "url",
1333
+ "attr-value",
1334
+ "keyword",
1335
+ "control",
1336
+ "directive",
1337
+ "unit",
1338
+ "statement",
1339
+ "regex",
1340
+ "atrule"
1341
+ ],
1342
+ style: {
1343
+ color: "#728fcb"
1344
+ }
1345
+ },
1346
+ {
1347
+ types: ["placeholder", "variable"],
1348
+ style: {
1349
+ color: "#93abdc"
1350
+ }
1351
+ },
1352
+ {
1353
+ types: ["deleted"],
1354
+ style: {
1355
+ textDecorationLine: "line-through"
1356
+ }
1357
+ },
1358
+ {
1359
+ types: ["inserted"],
1360
+ style: {
1361
+ textDecorationLine: "underline"
1362
+ }
1363
+ },
1364
+ {
1365
+ types: ["italic"],
1366
+ style: {
1367
+ fontStyle: "italic"
1368
+ }
1369
+ },
1370
+ {
1371
+ types: ["important", "bold"],
1372
+ style: {
1373
+ fontWeight: "bold"
1374
+ }
1375
+ },
1376
+ {
1377
+ types: ["important"],
1378
+ style: {
1379
+ color: "#896724"
1380
+ }
1381
+ }
1382
+ ]
1383
+ }, xt = St, _t = {
1384
+ plain: {
1385
+ color: "#393A34",
1386
+ backgroundColor: "#f6f8fa"
1387
+ },
1388
+ styles: [
1389
+ {
1390
+ types: ["comment", "prolog", "doctype", "cdata"],
1391
+ style: {
1392
+ color: "#999988",
1393
+ fontStyle: "italic"
1394
+ }
1395
+ },
1396
+ {
1397
+ types: ["namespace"],
1398
+ style: {
1399
+ opacity: 0.7
1400
+ }
1401
+ },
1402
+ {
1403
+ types: ["string", "attr-value"],
1404
+ style: {
1405
+ color: "#e3116c"
1406
+ }
1407
+ },
1408
+ {
1409
+ types: ["punctuation", "operator"],
1410
+ style: {
1411
+ color: "#393A34"
1412
+ }
1413
+ },
1414
+ {
1415
+ types: [
1416
+ "entity",
1417
+ "url",
1418
+ "symbol",
1419
+ "number",
1420
+ "boolean",
1421
+ "variable",
1422
+ "constant",
1423
+ "property",
1424
+ "regex",
1425
+ "inserted"
1426
+ ],
1427
+ style: {
1428
+ color: "#36acaa"
1429
+ }
1430
+ },
1431
+ {
1432
+ types: ["atrule", "keyword", "attr-name", "selector"],
1433
+ style: {
1434
+ color: "#00a4db"
1435
+ }
1436
+ },
1437
+ {
1438
+ types: ["function", "deleted", "tag"],
1439
+ style: {
1440
+ color: "#d73a49"
1441
+ }
1442
+ },
1443
+ {
1444
+ types: ["function-variable"],
1445
+ style: {
1446
+ color: "#6f42c1"
1447
+ }
1448
+ },
1449
+ {
1450
+ types: ["tag", "selector", "keyword"],
1451
+ style: {
1452
+ color: "#00009f"
1453
+ }
1454
+ }
1455
+ ]
1456
+ }, At = _t, Ft = {
1457
+ plain: {
1458
+ color: "#d6deeb",
1459
+ backgroundColor: "#011627"
1460
+ },
1461
+ styles: [
1462
+ {
1463
+ types: ["changed"],
1464
+ style: {
1465
+ color: "rgb(162, 191, 252)",
1466
+ fontStyle: "italic"
1467
+ }
1468
+ },
1469
+ {
1470
+ types: ["deleted"],
1471
+ style: {
1472
+ color: "rgba(239, 83, 80, 0.56)",
1473
+ fontStyle: "italic"
1474
+ }
1475
+ },
1476
+ {
1477
+ types: ["inserted", "attr-name"],
1478
+ style: {
1479
+ color: "rgb(173, 219, 103)",
1480
+ fontStyle: "italic"
1481
+ }
1482
+ },
1483
+ {
1484
+ types: ["comment"],
1485
+ style: {
1486
+ color: "rgb(99, 119, 119)",
1487
+ fontStyle: "italic"
1488
+ }
1489
+ },
1490
+ {
1491
+ types: ["string", "url"],
1492
+ style: {
1493
+ color: "rgb(173, 219, 103)"
1494
+ }
1495
+ },
1496
+ {
1497
+ types: ["variable"],
1498
+ style: {
1499
+ color: "rgb(214, 222, 235)"
1500
+ }
1501
+ },
1502
+ {
1503
+ types: ["number"],
1504
+ style: {
1505
+ color: "rgb(247, 140, 108)"
1506
+ }
1507
+ },
1508
+ {
1509
+ types: ["builtin", "char", "constant", "function"],
1510
+ style: {
1511
+ color: "rgb(130, 170, 255)"
1512
+ }
1513
+ },
1514
+ {
1515
+ // This was manually added after the auto-generation
1516
+ // so that punctuations are not italicised
1517
+ types: ["punctuation"],
1518
+ style: {
1519
+ color: "rgb(199, 146, 234)"
1520
+ }
1521
+ },
1522
+ {
1523
+ types: ["selector", "doctype"],
1524
+ style: {
1525
+ color: "rgb(199, 146, 234)",
1526
+ fontStyle: "italic"
1527
+ }
1528
+ },
1529
+ {
1530
+ types: ["class-name"],
1531
+ style: {
1532
+ color: "rgb(255, 203, 139)"
1533
+ }
1534
+ },
1535
+ {
1536
+ types: ["tag", "operator", "keyword"],
1537
+ style: {
1538
+ color: "rgb(127, 219, 202)"
1539
+ }
1540
+ },
1541
+ {
1542
+ types: ["boolean"],
1543
+ style: {
1544
+ color: "rgb(255, 88, 116)"
1545
+ }
1546
+ },
1547
+ {
1548
+ types: ["property"],
1549
+ style: {
1550
+ color: "rgb(128, 203, 196)"
1551
+ }
1552
+ },
1553
+ {
1554
+ types: ["namespace"],
1555
+ style: {
1556
+ color: "rgb(178, 204, 214)"
1557
+ }
1558
+ }
1559
+ ]
1560
+ }, Tt = Ft, Rt = {
1561
+ plain: {
1562
+ color: "#403f53",
1563
+ backgroundColor: "#FBFBFB"
1564
+ },
1565
+ styles: [
1566
+ {
1567
+ types: ["changed"],
1568
+ style: {
1569
+ color: "rgb(162, 191, 252)",
1570
+ fontStyle: "italic"
1571
+ }
1572
+ },
1573
+ {
1574
+ types: ["deleted"],
1575
+ style: {
1576
+ color: "rgba(239, 83, 80, 0.56)",
1577
+ fontStyle: "italic"
1578
+ }
1579
+ },
1580
+ {
1581
+ types: ["inserted", "attr-name"],
1582
+ style: {
1583
+ color: "rgb(72, 118, 214)",
1584
+ fontStyle: "italic"
1585
+ }
1586
+ },
1587
+ {
1588
+ types: ["comment"],
1589
+ style: {
1590
+ color: "rgb(152, 159, 177)",
1591
+ fontStyle: "italic"
1592
+ }
1593
+ },
1594
+ {
1595
+ types: ["string", "builtin", "char", "constant", "url"],
1596
+ style: {
1597
+ color: "rgb(72, 118, 214)"
1598
+ }
1599
+ },
1600
+ {
1601
+ types: ["variable"],
1602
+ style: {
1603
+ color: "rgb(201, 103, 101)"
1604
+ }
1605
+ },
1606
+ {
1607
+ types: ["number"],
1608
+ style: {
1609
+ color: "rgb(170, 9, 130)"
1610
+ }
1611
+ },
1612
+ {
1613
+ // This was manually added after the auto-generation
1614
+ // so that punctuations are not italicised
1615
+ types: ["punctuation"],
1616
+ style: {
1617
+ color: "rgb(153, 76, 195)"
1618
+ }
1619
+ },
1620
+ {
1621
+ types: ["function", "selector", "doctype"],
1622
+ style: {
1623
+ color: "rgb(153, 76, 195)",
1624
+ fontStyle: "italic"
1625
+ }
1626
+ },
1627
+ {
1628
+ types: ["class-name"],
1629
+ style: {
1630
+ color: "rgb(17, 17, 17)"
1631
+ }
1632
+ },
1633
+ {
1634
+ types: ["tag"],
1635
+ style: {
1636
+ color: "rgb(153, 76, 195)"
1637
+ }
1638
+ },
1639
+ {
1640
+ types: ["operator", "property", "keyword", "namespace"],
1641
+ style: {
1642
+ color: "rgb(12, 150, 155)"
1643
+ }
1644
+ },
1645
+ {
1646
+ types: ["boolean"],
1647
+ style: {
1648
+ color: "rgb(188, 84, 84)"
1649
+ }
1650
+ }
1651
+ ]
1652
+ }, Ot = Rt, j = {
1653
+ char: "#D8DEE9",
1654
+ comment: "#999999",
1655
+ keyword: "#c5a5c5",
1656
+ primitive: "#5a9bcf",
1657
+ string: "#8dc891",
1658
+ variable: "#d7deea",
1659
+ boolean: "#ff8b50",
1660
+ tag: "#fc929e",
1661
+ function: "#79b6f2",
1662
+ className: "#FAC863"
1663
+ }, It = {
1664
+ plain: {
1665
+ backgroundColor: "#282c34",
1666
+ color: "#ffffff"
1667
+ },
1668
+ styles: [
1669
+ {
1670
+ types: ["attr-name"],
1671
+ style: {
1672
+ color: j.keyword
1673
+ }
1674
+ },
1675
+ {
1676
+ types: ["attr-value"],
1677
+ style: {
1678
+ color: j.string
1679
+ }
1680
+ },
1681
+ {
1682
+ types: [
1683
+ "comment",
1684
+ "block-comment",
1685
+ "prolog",
1686
+ "doctype",
1687
+ "cdata",
1688
+ "shebang"
1689
+ ],
1690
+ style: {
1691
+ color: j.comment
1692
+ }
1693
+ },
1694
+ {
1695
+ types: [
1696
+ "property",
1697
+ "number",
1698
+ "function-name",
1699
+ "constant",
1700
+ "symbol",
1701
+ "deleted"
1702
+ ],
1703
+ style: {
1704
+ color: j.primitive
1705
+ }
1706
+ },
1707
+ {
1708
+ types: ["boolean"],
1709
+ style: {
1710
+ color: j.boolean
1711
+ }
1712
+ },
1713
+ {
1714
+ types: ["tag"],
1715
+ style: {
1716
+ color: j.tag
1717
+ }
1718
+ },
1719
+ {
1720
+ types: ["string"],
1721
+ style: {
1722
+ color: j.string
1723
+ }
1724
+ },
1725
+ {
1726
+ types: ["punctuation"],
1727
+ style: {
1728
+ color: j.string
1729
+ }
1730
+ },
1731
+ {
1732
+ types: ["selector", "char", "builtin", "inserted"],
1733
+ style: {
1734
+ color: j.char
1735
+ }
1736
+ },
1737
+ {
1738
+ types: ["function"],
1739
+ style: {
1740
+ color: j.function
1741
+ }
1742
+ },
1743
+ {
1744
+ types: ["operator", "entity", "url", "variable"],
1745
+ style: {
1746
+ color: j.variable
1747
+ }
1748
+ },
1749
+ {
1750
+ types: ["keyword"],
1751
+ style: {
1752
+ color: j.keyword
1753
+ }
1754
+ },
1755
+ {
1756
+ types: ["atrule", "class-name"],
1757
+ style: {
1758
+ color: j.className
1759
+ }
1760
+ },
1761
+ {
1762
+ types: ["important"],
1763
+ style: {
1764
+ fontWeight: "400"
1765
+ }
1766
+ },
1767
+ {
1768
+ types: ["bold"],
1769
+ style: {
1770
+ fontWeight: "bold"
1771
+ }
1772
+ },
1773
+ {
1774
+ types: ["italic"],
1775
+ style: {
1776
+ fontStyle: "italic"
1777
+ }
1778
+ },
1779
+ {
1780
+ types: ["namespace"],
1781
+ style: {
1782
+ opacity: 0.7
1783
+ }
1784
+ }
1785
+ ]
1786
+ }, Ct = It, Lt = {
1787
+ plain: {
1788
+ color: "#f8f8f2",
1789
+ backgroundColor: "#272822"
1790
+ },
1791
+ styles: [
1792
+ {
1793
+ types: ["changed"],
1794
+ style: {
1795
+ color: "rgb(162, 191, 252)",
1796
+ fontStyle: "italic"
1797
+ }
1798
+ },
1799
+ {
1800
+ types: ["deleted"],
1801
+ style: {
1802
+ color: "#f92672",
1803
+ fontStyle: "italic"
1804
+ }
1805
+ },
1806
+ {
1807
+ types: ["inserted"],
1808
+ style: {
1809
+ color: "rgb(173, 219, 103)",
1810
+ fontStyle: "italic"
1811
+ }
1812
+ },
1813
+ {
1814
+ types: ["comment"],
1815
+ style: {
1816
+ color: "#8292a2",
1817
+ fontStyle: "italic"
1818
+ }
1819
+ },
1820
+ {
1821
+ types: ["string", "url"],
1822
+ style: {
1823
+ color: "#a6e22e"
1824
+ }
1825
+ },
1826
+ {
1827
+ types: ["variable"],
1828
+ style: {
1829
+ color: "#f8f8f2"
1830
+ }
1831
+ },
1832
+ {
1833
+ types: ["number"],
1834
+ style: {
1835
+ color: "#ae81ff"
1836
+ }
1837
+ },
1838
+ {
1839
+ types: ["builtin", "char", "constant", "function", "class-name"],
1840
+ style: {
1841
+ color: "#e6db74"
1842
+ }
1843
+ },
1844
+ {
1845
+ types: ["punctuation"],
1846
+ style: {
1847
+ color: "#f8f8f2"
1848
+ }
1849
+ },
1850
+ {
1851
+ types: ["selector", "doctype"],
1852
+ style: {
1853
+ color: "#a6e22e",
1854
+ fontStyle: "italic"
1855
+ }
1856
+ },
1857
+ {
1858
+ types: ["tag", "operator", "keyword"],
1859
+ style: {
1860
+ color: "#66d9ef"
1861
+ }
1862
+ },
1863
+ {
1864
+ types: ["boolean"],
1865
+ style: {
1866
+ color: "#ae81ff"
1867
+ }
1868
+ },
1869
+ {
1870
+ types: ["namespace"],
1871
+ style: {
1872
+ color: "rgb(178, 204, 214)",
1873
+ opacity: 0.7
1874
+ }
1875
+ },
1876
+ {
1877
+ types: ["tag", "property"],
1878
+ style: {
1879
+ color: "#f92672"
1880
+ }
1881
+ },
1882
+ {
1883
+ types: ["attr-name"],
1884
+ style: {
1885
+ color: "#a6e22e !important"
1886
+ }
1887
+ },
1888
+ {
1889
+ types: ["doctype"],
1890
+ style: {
1891
+ color: "#8292a2"
1892
+ }
1893
+ },
1894
+ {
1895
+ types: ["rule"],
1896
+ style: {
1897
+ color: "#e6db74"
1898
+ }
1899
+ }
1900
+ ]
1901
+ }, Dt = Lt, Nt = {
1902
+ plain: {
1903
+ color: "#bfc7d5",
1904
+ backgroundColor: "#292d3e"
1905
+ },
1906
+ styles: [
1907
+ {
1908
+ types: ["comment"],
1909
+ style: {
1910
+ color: "rgb(105, 112, 152)",
1911
+ fontStyle: "italic"
1912
+ }
1913
+ },
1914
+ {
1915
+ types: ["string", "inserted"],
1916
+ style: {
1917
+ color: "rgb(195, 232, 141)"
1918
+ }
1919
+ },
1920
+ {
1921
+ types: ["number"],
1922
+ style: {
1923
+ color: "rgb(247, 140, 108)"
1924
+ }
1925
+ },
1926
+ {
1927
+ types: ["builtin", "char", "constant", "function"],
1928
+ style: {
1929
+ color: "rgb(130, 170, 255)"
1930
+ }
1931
+ },
1932
+ {
1933
+ types: ["punctuation", "selector"],
1934
+ style: {
1935
+ color: "rgb(199, 146, 234)"
1936
+ }
1937
+ },
1938
+ {
1939
+ types: ["variable"],
1940
+ style: {
1941
+ color: "rgb(191, 199, 213)"
1942
+ }
1943
+ },
1944
+ {
1945
+ types: ["class-name", "attr-name"],
1946
+ style: {
1947
+ color: "rgb(255, 203, 107)"
1948
+ }
1949
+ },
1950
+ {
1951
+ types: ["tag", "deleted"],
1952
+ style: {
1953
+ color: "rgb(255, 85, 114)"
1954
+ }
1955
+ },
1956
+ {
1957
+ types: ["operator"],
1958
+ style: {
1959
+ color: "rgb(137, 221, 255)"
1960
+ }
1961
+ },
1962
+ {
1963
+ types: ["boolean"],
1964
+ style: {
1965
+ color: "rgb(255, 88, 116)"
1966
+ }
1967
+ },
1968
+ {
1969
+ types: ["keyword"],
1970
+ style: {
1971
+ fontStyle: "italic"
1972
+ }
1973
+ },
1974
+ {
1975
+ types: ["doctype"],
1976
+ style: {
1977
+ color: "rgb(199, 146, 234)",
1978
+ fontStyle: "italic"
1979
+ }
1980
+ },
1981
+ {
1982
+ types: ["namespace"],
1983
+ style: {
1984
+ color: "rgb(178, 204, 214)"
1985
+ }
1986
+ },
1987
+ {
1988
+ types: ["url"],
1989
+ style: {
1990
+ color: "rgb(221, 221, 221)"
1991
+ }
1992
+ }
1993
+ ]
1994
+ }, Bt = Nt, $t = {
1995
+ plain: {
1996
+ color: "#9EFEFF",
1997
+ backgroundColor: "#2D2A55"
1998
+ },
1999
+ styles: [
2000
+ {
2001
+ types: ["changed"],
2002
+ style: {
2003
+ color: "rgb(255, 238, 128)"
2004
+ }
2005
+ },
2006
+ {
2007
+ types: ["deleted"],
2008
+ style: {
2009
+ color: "rgba(239, 83, 80, 0.56)"
2010
+ }
2011
+ },
2012
+ {
2013
+ types: ["inserted"],
2014
+ style: {
2015
+ color: "rgb(173, 219, 103)"
2016
+ }
2017
+ },
2018
+ {
2019
+ types: ["comment"],
2020
+ style: {
2021
+ color: "rgb(179, 98, 255)",
2022
+ fontStyle: "italic"
2023
+ }
2024
+ },
2025
+ {
2026
+ types: ["punctuation"],
2027
+ style: {
2028
+ color: "rgb(255, 255, 255)"
2029
+ }
2030
+ },
2031
+ {
2032
+ types: ["constant"],
2033
+ style: {
2034
+ color: "rgb(255, 98, 140)"
2035
+ }
2036
+ },
2037
+ {
2038
+ types: ["string", "url"],
2039
+ style: {
2040
+ color: "rgb(165, 255, 144)"
2041
+ }
2042
+ },
2043
+ {
2044
+ types: ["variable"],
2045
+ style: {
2046
+ color: "rgb(255, 238, 128)"
2047
+ }
2048
+ },
2049
+ {
2050
+ types: ["number", "boolean"],
2051
+ style: {
2052
+ color: "rgb(255, 98, 140)"
2053
+ }
2054
+ },
2055
+ {
2056
+ types: ["attr-name"],
2057
+ style: {
2058
+ color: "rgb(255, 180, 84)"
2059
+ }
2060
+ },
2061
+ {
2062
+ types: [
2063
+ "keyword",
2064
+ "operator",
2065
+ "property",
2066
+ "namespace",
2067
+ "tag",
2068
+ "selector",
2069
+ "doctype"
2070
+ ],
2071
+ style: {
2072
+ color: "rgb(255, 157, 0)"
2073
+ }
2074
+ },
2075
+ {
2076
+ types: ["builtin", "char", "constant", "function", "class-name"],
2077
+ style: {
2078
+ color: "rgb(250, 208, 0)"
2079
+ }
2080
+ }
2081
+ ]
2082
+ }, Pt = $t, jt = {
2083
+ plain: {
2084
+ backgroundColor: "linear-gradient(to bottom, #2a2139 75%, #34294f)",
2085
+ backgroundImage: "#34294f",
2086
+ color: "#f92aad",
2087
+ textShadow: "0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"
2088
+ },
2089
+ styles: [
2090
+ {
2091
+ types: ["comment", "block-comment", "prolog", "doctype", "cdata"],
2092
+ style: {
2093
+ color: "#495495",
2094
+ fontStyle: "italic"
2095
+ }
2096
+ },
2097
+ {
2098
+ types: ["punctuation"],
2099
+ style: {
2100
+ color: "#ccc"
2101
+ }
2102
+ },
2103
+ {
2104
+ types: [
2105
+ "tag",
2106
+ "attr-name",
2107
+ "namespace",
2108
+ "number",
2109
+ "unit",
2110
+ "hexcode",
2111
+ "deleted"
2112
+ ],
2113
+ style: {
2114
+ color: "#e2777a"
2115
+ }
2116
+ },
2117
+ {
2118
+ types: ["property", "selector"],
2119
+ style: {
2120
+ color: "#72f1b8",
2121
+ textShadow: "0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"
2122
+ }
2123
+ },
2124
+ {
2125
+ types: ["function-name"],
2126
+ style: {
2127
+ color: "#6196cc"
2128
+ }
2129
+ },
2130
+ {
2131
+ types: ["boolean", "selector-id", "function"],
2132
+ style: {
2133
+ color: "#fdfdfd",
2134
+ textShadow: "0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"
2135
+ }
2136
+ },
2137
+ {
2138
+ types: ["class-name", "maybe-class-name", "builtin"],
2139
+ style: {
2140
+ color: "#fff5f6",
2141
+ textShadow: "0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"
2142
+ }
2143
+ },
2144
+ {
2145
+ types: ["constant", "symbol"],
2146
+ style: {
2147
+ color: "#f92aad",
2148
+ textShadow: "0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"
2149
+ }
2150
+ },
2151
+ {
2152
+ types: ["important", "atrule", "keyword", "selector-class"],
2153
+ style: {
2154
+ color: "#f4eee4",
2155
+ textShadow: "0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"
2156
+ }
2157
+ },
2158
+ {
2159
+ types: ["string", "char", "attr-value", "regex", "variable"],
2160
+ style: {
2161
+ color: "#f87c32"
2162
+ }
2163
+ },
2164
+ {
2165
+ types: ["parameter"],
2166
+ style: {
2167
+ fontStyle: "italic"
2168
+ }
2169
+ },
2170
+ {
2171
+ types: ["entity", "url"],
2172
+ style: {
2173
+ color: "#67cdcc"
2174
+ }
2175
+ },
2176
+ {
2177
+ types: ["operator"],
2178
+ style: {
2179
+ color: "ffffffee"
2180
+ }
2181
+ },
2182
+ {
2183
+ types: ["important", "bold"],
2184
+ style: {
2185
+ fontWeight: "bold"
2186
+ }
2187
+ },
2188
+ {
2189
+ types: ["italic"],
2190
+ style: {
2191
+ fontStyle: "italic"
2192
+ }
2193
+ },
2194
+ {
2195
+ types: ["entity"],
2196
+ style: {
2197
+ cursor: "help"
2198
+ }
2199
+ },
2200
+ {
2201
+ types: ["inserted"],
2202
+ style: {
2203
+ color: "green"
2204
+ }
2205
+ }
2206
+ ]
2207
+ }, zt = jt, Mt = {
2208
+ plain: {
2209
+ color: "#282a2e",
2210
+ backgroundColor: "#ffffff"
2211
+ },
2212
+ styles: [
2213
+ {
2214
+ types: ["comment"],
2215
+ style: {
2216
+ color: "rgb(197, 200, 198)"
2217
+ }
2218
+ },
2219
+ {
2220
+ types: ["string", "number", "builtin", "variable"],
2221
+ style: {
2222
+ color: "rgb(150, 152, 150)"
2223
+ }
2224
+ },
2225
+ {
2226
+ types: ["class-name", "function", "tag", "attr-name"],
2227
+ style: {
2228
+ color: "rgb(40, 42, 46)"
2229
+ }
2230
+ }
2231
+ ]
2232
+ }, Ut = Mt, Gt = {
2233
+ plain: {
2234
+ color: "#9CDCFE",
2235
+ backgroundColor: "#1E1E1E"
2236
+ },
2237
+ styles: [
2238
+ {
2239
+ types: ["prolog"],
2240
+ style: {
2241
+ color: "rgb(0, 0, 128)"
2242
+ }
2243
+ },
2244
+ {
2245
+ types: ["comment"],
2246
+ style: {
2247
+ color: "rgb(106, 153, 85)"
2248
+ }
2249
+ },
2250
+ {
2251
+ types: ["builtin", "changed", "keyword", "interpolation-punctuation"],
2252
+ style: {
2253
+ color: "rgb(86, 156, 214)"
2254
+ }
2255
+ },
2256
+ {
2257
+ types: ["number", "inserted"],
2258
+ style: {
2259
+ color: "rgb(181, 206, 168)"
2260
+ }
2261
+ },
2262
+ {
2263
+ types: ["constant"],
2264
+ style: {
2265
+ color: "rgb(100, 102, 149)"
2266
+ }
2267
+ },
2268
+ {
2269
+ types: ["attr-name", "variable"],
2270
+ style: {
2271
+ color: "rgb(156, 220, 254)"
2272
+ }
2273
+ },
2274
+ {
2275
+ types: ["deleted", "string", "attr-value", "template-punctuation"],
2276
+ style: {
2277
+ color: "rgb(206, 145, 120)"
2278
+ }
2279
+ },
2280
+ {
2281
+ types: ["selector"],
2282
+ style: {
2283
+ color: "rgb(215, 186, 125)"
2284
+ }
2285
+ },
2286
+ {
2287
+ // Fix tag color
2288
+ types: ["tag"],
2289
+ style: {
2290
+ color: "rgb(78, 201, 176)"
2291
+ }
2292
+ },
2293
+ {
2294
+ // Fix tag color for HTML
2295
+ types: ["tag"],
2296
+ languages: ["markup"],
2297
+ style: {
2298
+ color: "rgb(86, 156, 214)"
2299
+ }
2300
+ },
2301
+ {
2302
+ types: ["punctuation", "operator"],
2303
+ style: {
2304
+ color: "rgb(212, 212, 212)"
2305
+ }
2306
+ },
2307
+ {
2308
+ // Fix punctuation color for HTML
2309
+ types: ["punctuation"],
2310
+ languages: ["markup"],
2311
+ style: {
2312
+ color: "#808080"
2313
+ }
2314
+ },
2315
+ {
2316
+ types: ["function"],
2317
+ style: {
2318
+ color: "rgb(220, 220, 170)"
2319
+ }
2320
+ },
2321
+ {
2322
+ types: ["class-name"],
2323
+ style: {
2324
+ color: "rgb(78, 201, 176)"
2325
+ }
2326
+ },
2327
+ {
2328
+ types: ["char"],
2329
+ style: {
2330
+ color: "rgb(209, 105, 105)"
2331
+ }
2332
+ }
2333
+ ]
2334
+ }, Ke = Gt, Kt = {
2335
+ plain: {
2336
+ color: "#000000",
2337
+ backgroundColor: "#ffffff"
2338
+ },
2339
+ styles: [
2340
+ {
2341
+ types: ["comment"],
2342
+ style: {
2343
+ color: "rgb(0, 128, 0)"
2344
+ }
2345
+ },
2346
+ {
2347
+ types: ["builtin"],
2348
+ style: {
2349
+ color: "rgb(0, 112, 193)"
2350
+ }
2351
+ },
2352
+ {
2353
+ types: ["number", "variable", "inserted"],
2354
+ style: {
2355
+ color: "rgb(9, 134, 88)"
2356
+ }
2357
+ },
2358
+ {
2359
+ types: ["operator"],
2360
+ style: {
2361
+ color: "rgb(0, 0, 0)"
2362
+ }
2363
+ },
2364
+ {
2365
+ types: ["constant", "char"],
2366
+ style: {
2367
+ color: "rgb(129, 31, 63)"
2368
+ }
2369
+ },
2370
+ {
2371
+ types: ["tag"],
2372
+ style: {
2373
+ color: "rgb(128, 0, 0)"
2374
+ }
2375
+ },
2376
+ {
2377
+ types: ["attr-name"],
2378
+ style: {
2379
+ color: "rgb(255, 0, 0)"
2380
+ }
2381
+ },
2382
+ {
2383
+ types: ["deleted", "string"],
2384
+ style: {
2385
+ color: "rgb(163, 21, 21)"
2386
+ }
2387
+ },
2388
+ {
2389
+ types: ["changed", "punctuation"],
2390
+ style: {
2391
+ color: "rgb(4, 81, 165)"
2392
+ }
2393
+ },
2394
+ {
2395
+ types: ["function", "keyword"],
2396
+ style: {
2397
+ color: "rgb(0, 0, 255)"
2398
+ }
2399
+ },
2400
+ {
2401
+ types: ["class-name"],
2402
+ style: {
2403
+ color: "rgb(38, 127, 153)"
2404
+ }
2405
+ }
2406
+ ]
2407
+ }, Zt = Kt, Wt = {
2408
+ plain: {
2409
+ color: "#f8fafc",
2410
+ backgroundColor: "#011627"
2411
+ },
2412
+ styles: [
2413
+ {
2414
+ types: ["prolog"],
2415
+ style: {
2416
+ color: "#000080"
2417
+ }
2418
+ },
2419
+ {
2420
+ types: ["comment"],
2421
+ style: {
2422
+ color: "#6A9955"
2423
+ }
2424
+ },
2425
+ {
2426
+ types: ["builtin", "changed", "keyword", "interpolation-punctuation"],
2427
+ style: {
2428
+ color: "#569CD6"
2429
+ }
2430
+ },
2431
+ {
2432
+ types: ["number", "inserted"],
2433
+ style: {
2434
+ color: "#B5CEA8"
2435
+ }
2436
+ },
2437
+ {
2438
+ types: ["constant"],
2439
+ style: {
2440
+ color: "#f8fafc"
2441
+ }
2442
+ },
2443
+ {
2444
+ types: ["attr-name", "variable"],
2445
+ style: {
2446
+ color: "#9CDCFE"
2447
+ }
2448
+ },
2449
+ {
2450
+ types: ["deleted", "string", "attr-value", "template-punctuation"],
2451
+ style: {
2452
+ color: "#cbd5e1"
2453
+ }
2454
+ },
2455
+ {
2456
+ types: ["selector"],
2457
+ style: {
2458
+ color: "#D7BA7D"
2459
+ }
2460
+ },
2461
+ {
2462
+ types: ["tag"],
2463
+ style: {
2464
+ color: "#0ea5e9"
2465
+ }
2466
+ },
2467
+ {
2468
+ types: ["tag"],
2469
+ languages: ["markup"],
2470
+ style: {
2471
+ color: "#0ea5e9"
2472
+ }
2473
+ },
2474
+ {
2475
+ types: ["punctuation", "operator"],
2476
+ style: {
2477
+ color: "#D4D4D4"
2478
+ }
2479
+ },
2480
+ {
2481
+ types: ["punctuation"],
2482
+ languages: ["markup"],
2483
+ style: {
2484
+ color: "#808080"
2485
+ }
2486
+ },
2487
+ {
2488
+ types: ["function"],
2489
+ style: {
2490
+ color: "#7dd3fc"
2491
+ }
2492
+ },
2493
+ {
2494
+ types: ["class-name"],
2495
+ style: {
2496
+ color: "#0ea5e9"
2497
+ }
2498
+ },
2499
+ {
2500
+ types: ["char"],
2501
+ style: {
2502
+ color: "#D16969"
2503
+ }
2504
+ }
2505
+ ]
2506
+ }, Yt = Wt, qt = {
2507
+ plain: {
2508
+ color: "#0f172a",
2509
+ backgroundColor: "#f1f5f9"
2510
+ },
2511
+ styles: [
2512
+ {
2513
+ types: ["prolog"],
2514
+ style: {
2515
+ color: "#000080"
2516
+ }
2517
+ },
2518
+ {
2519
+ types: ["comment"],
2520
+ style: {
2521
+ color: "#6A9955"
2522
+ }
2523
+ },
2524
+ {
2525
+ types: ["builtin", "changed", "keyword", "interpolation-punctuation"],
2526
+ style: {
2527
+ color: "#0c4a6e"
2528
+ }
2529
+ },
2530
+ {
2531
+ types: ["number", "inserted"],
2532
+ style: {
2533
+ color: "#B5CEA8"
2534
+ }
2535
+ },
2536
+ {
2537
+ types: ["constant"],
2538
+ style: {
2539
+ color: "#0f172a"
2540
+ }
2541
+ },
2542
+ {
2543
+ types: ["attr-name", "variable"],
2544
+ style: {
2545
+ color: "#0c4a6e"
2546
+ }
2547
+ },
2548
+ {
2549
+ types: ["deleted", "string", "attr-value", "template-punctuation"],
2550
+ style: {
2551
+ color: "#64748b"
2552
+ }
2553
+ },
2554
+ {
2555
+ types: ["selector"],
2556
+ style: {
2557
+ color: "#D7BA7D"
2558
+ }
2559
+ },
2560
+ {
2561
+ types: ["tag"],
2562
+ style: {
2563
+ color: "#0ea5e9"
2564
+ }
2565
+ },
2566
+ {
2567
+ types: ["tag"],
2568
+ languages: ["markup"],
2569
+ style: {
2570
+ color: "#0ea5e9"
2571
+ }
2572
+ },
2573
+ {
2574
+ types: ["punctuation", "operator"],
2575
+ style: {
2576
+ color: "#475569"
2577
+ }
2578
+ },
2579
+ {
2580
+ types: ["punctuation"],
2581
+ languages: ["markup"],
2582
+ style: {
2583
+ color: "#808080"
2584
+ }
2585
+ },
2586
+ {
2587
+ types: ["function"],
2588
+ style: {
2589
+ color: "#0e7490"
2590
+ }
2591
+ },
2592
+ {
2593
+ types: ["class-name"],
2594
+ style: {
2595
+ color: "#0ea5e9"
2596
+ }
2597
+ },
2598
+ {
2599
+ types: ["char"],
2600
+ style: {
2601
+ color: "#D16969"
2602
+ }
2603
+ }
2604
+ ]
2605
+ }, Ht = qt, Vt = {
2606
+ plain: {
2607
+ backgroundColor: "hsl(220, 13%, 18%)",
2608
+ color: "hsl(220, 14%, 71%)",
2609
+ textShadow: "0 1px rgba(0, 0, 0, 0.3)"
2610
+ },
2611
+ styles: [
2612
+ {
2613
+ types: ["comment", "prolog", "cdata"],
2614
+ style: {
2615
+ color: "hsl(220, 10%, 40%)"
2616
+ }
2617
+ },
2618
+ {
2619
+ types: ["doctype", "punctuation", "entity"],
2620
+ style: {
2621
+ color: "hsl(220, 14%, 71%)"
2622
+ }
2623
+ },
2624
+ {
2625
+ types: [
2626
+ "attr-name",
2627
+ "class-name",
2628
+ "maybe-class-name",
2629
+ "boolean",
2630
+ "constant",
2631
+ "number",
2632
+ "atrule"
2633
+ ],
2634
+ style: { color: "hsl(29, 54%, 61%)" }
2635
+ },
2636
+ {
2637
+ types: ["keyword"],
2638
+ style: { color: "hsl(286, 60%, 67%)" }
2639
+ },
2640
+ {
2641
+ types: ["property", "tag", "symbol", "deleted", "important"],
2642
+ style: {
2643
+ color: "hsl(355, 65%, 65%)"
2644
+ }
2645
+ },
2646
+ {
2647
+ types: [
2648
+ "selector",
2649
+ "string",
2650
+ "char",
2651
+ "builtin",
2652
+ "inserted",
2653
+ "regex",
2654
+ "attr-value"
2655
+ ],
2656
+ style: {
2657
+ color: "hsl(95, 38%, 62%)"
2658
+ }
2659
+ },
2660
+ {
2661
+ types: ["variable", "operator", "function"],
2662
+ style: {
2663
+ color: "hsl(207, 82%, 66%)"
2664
+ }
2665
+ },
2666
+ {
2667
+ types: ["url"],
2668
+ style: {
2669
+ color: "hsl(187, 47%, 55%)"
2670
+ }
2671
+ },
2672
+ {
2673
+ types: ["deleted"],
2674
+ style: {
2675
+ textDecorationLine: "line-through"
2676
+ }
2677
+ },
2678
+ {
2679
+ types: ["inserted"],
2680
+ style: {
2681
+ textDecorationLine: "underline"
2682
+ }
2683
+ },
2684
+ {
2685
+ types: ["italic"],
2686
+ style: {
2687
+ fontStyle: "italic"
2688
+ }
2689
+ },
2690
+ {
2691
+ types: ["important", "bold"],
2692
+ style: {
2693
+ fontWeight: "bold"
2694
+ }
2695
+ },
2696
+ {
2697
+ types: ["important"],
2698
+ style: {
2699
+ color: "hsl(220, 14%, 71%)"
2700
+ }
2701
+ }
2702
+ ]
2703
+ }, Xt = Vt, Qt = {
2704
+ plain: {
2705
+ backgroundColor: "hsl(230, 1%, 98%)",
2706
+ color: "hsl(230, 8%, 24%)"
2707
+ },
2708
+ styles: [
2709
+ {
2710
+ types: ["comment", "prolog", "cdata"],
2711
+ style: {
2712
+ color: "hsl(230, 4%, 64%)"
2713
+ }
2714
+ },
2715
+ {
2716
+ types: ["doctype", "punctuation", "entity"],
2717
+ style: {
2718
+ color: "hsl(230, 8%, 24%)"
2719
+ }
2720
+ },
2721
+ {
2722
+ types: [
2723
+ "attr-name",
2724
+ "class-name",
2725
+ "boolean",
2726
+ "constant",
2727
+ "number",
2728
+ "atrule"
2729
+ ],
2730
+ style: {
2731
+ color: "hsl(35, 99%, 36%)"
2732
+ }
2733
+ },
2734
+ {
2735
+ types: ["keyword"],
2736
+ style: {
2737
+ color: "hsl(301, 63%, 40%)"
2738
+ }
2739
+ },
2740
+ {
2741
+ types: ["property", "tag", "symbol", "deleted", "important"],
2742
+ style: {
2743
+ color: "hsl(5, 74%, 59%)"
2744
+ }
2745
+ },
2746
+ {
2747
+ types: [
2748
+ "selector",
2749
+ "string",
2750
+ "char",
2751
+ "builtin",
2752
+ "inserted",
2753
+ "regex",
2754
+ "attr-value",
2755
+ "punctuation"
2756
+ ],
2757
+ style: {
2758
+ color: "hsl(119, 34%, 47%)"
2759
+ }
2760
+ },
2761
+ {
2762
+ types: ["variable", "operator", "function"],
2763
+ style: {
2764
+ color: "hsl(221, 87%, 60%)"
2765
+ }
2766
+ },
2767
+ {
2768
+ types: ["url"],
2769
+ style: {
2770
+ color: "hsl(198, 99%, 37%)"
2771
+ }
2772
+ },
2773
+ {
2774
+ types: ["deleted"],
2775
+ style: {
2776
+ textDecorationLine: "line-through"
2777
+ }
2778
+ },
2779
+ {
2780
+ types: ["inserted"],
2781
+ style: {
2782
+ textDecorationLine: "underline"
2783
+ }
2784
+ },
2785
+ {
2786
+ types: ["italic"],
2787
+ style: {
2788
+ fontStyle: "italic"
2789
+ }
2790
+ },
2791
+ {
2792
+ types: ["important", "bold"],
2793
+ style: {
2794
+ fontWeight: "bold"
2795
+ }
2796
+ },
2797
+ {
2798
+ types: ["important"],
2799
+ style: {
2800
+ color: "hsl(230, 8%, 24%)"
2801
+ }
2802
+ }
2803
+ ]
2804
+ }, Jt = Qt, en = {
2805
+ plain: {
2806
+ color: "#ebdbb2",
2807
+ backgroundColor: "#292828"
2808
+ },
2809
+ styles: [
2810
+ {
2811
+ types: [
2812
+ "imports",
2813
+ "class-name",
2814
+ "maybe-class-name",
2815
+ "constant",
2816
+ "doctype",
2817
+ "builtin",
2818
+ "function"
2819
+ ],
2820
+ style: {
2821
+ color: "#d8a657"
2822
+ }
2823
+ },
2824
+ {
2825
+ types: ["property-access"],
2826
+ style: {
2827
+ color: "#7daea3"
2828
+ }
2829
+ },
2830
+ {
2831
+ types: ["tag"],
2832
+ style: {
2833
+ color: "#e78a4e"
2834
+ }
2835
+ },
2836
+ {
2837
+ types: ["attr-name", "char", "url", "regex"],
2838
+ style: {
2839
+ color: "#a9b665"
2840
+ }
2841
+ },
2842
+ {
2843
+ types: ["attr-value", "string"],
2844
+ style: {
2845
+ color: "#89b482"
2846
+ }
2847
+ },
2848
+ {
2849
+ types: ["comment", "prolog", "cdata", "operator", "inserted"],
2850
+ style: {
2851
+ color: "#a89984"
2852
+ }
2853
+ },
2854
+ {
2855
+ types: [
2856
+ "delimiter",
2857
+ "boolean",
2858
+ "keyword",
2859
+ "selector",
2860
+ "important",
2861
+ "atrule",
2862
+ "property",
2863
+ "variable",
2864
+ "deleted"
2865
+ ],
2866
+ style: {
2867
+ color: "#ea6962"
2868
+ }
2869
+ },
2870
+ {
2871
+ types: ["entity", "number", "symbol"],
2872
+ style: {
2873
+ color: "#d3869b"
2874
+ }
2875
+ }
2876
+ ]
2877
+ }, tn = en, nn = {
2878
+ plain: {
2879
+ color: "#654735",
2880
+ backgroundColor: "#f9f5d7"
2881
+ },
2882
+ styles: [
2883
+ {
2884
+ types: [
2885
+ "delimiter",
2886
+ "boolean",
2887
+ "keyword",
2888
+ "selector",
2889
+ "important",
2890
+ "atrule",
2891
+ "property",
2892
+ "variable",
2893
+ "deleted"
2894
+ ],
2895
+ style: {
2896
+ color: "#af2528"
2897
+ }
2898
+ },
2899
+ {
2900
+ types: [
2901
+ "imports",
2902
+ "class-name",
2903
+ "maybe-class-name",
2904
+ "constant",
2905
+ "doctype",
2906
+ "builtin"
2907
+ ],
2908
+ style: {
2909
+ color: "#b4730e"
2910
+ }
2911
+ },
2912
+ {
2913
+ types: ["string", "attr-value"],
2914
+ style: {
2915
+ color: "#477a5b"
2916
+ }
2917
+ },
2918
+ {
2919
+ types: ["property-access"],
2920
+ style: {
2921
+ color: "#266b79"
2922
+ }
2923
+ },
2924
+ {
2925
+ types: ["function", "attr-name", "char", "url"],
2926
+ style: {
2927
+ color: "#72761e"
2928
+ }
2929
+ },
2930
+ {
2931
+ types: ["tag"],
2932
+ style: {
2933
+ color: "#b94c07"
2934
+ }
2935
+ },
2936
+ {
2937
+ types: ["comment", "prolog", "cdata", "operator", "inserted"],
2938
+ style: {
2939
+ color: "#a89984"
2940
+ }
2941
+ },
2942
+ {
2943
+ types: ["entity", "number", "symbol"],
2944
+ style: {
2945
+ color: "#924f79"
2946
+ }
2947
+ }
2948
+ ]
2949
+ }, an = nn, rn = (e) => xe(
2950
+ (t) => {
2951
+ var n = t, { className: i, style: u, line: v } = n, d = Ge(n, ["className", "style", "line"]);
2952
+ const h = we(Y({}, d), {
2953
+ className: je("token-line", i)
2954
+ });
2955
+ return typeof e == "object" && "plain" in e && (h.style = e.plain), typeof u == "object" && (h.style = Y(Y({}, h.style || {}), u)), h;
2956
+ },
2957
+ [e]
2958
+ ), on = (e) => {
2959
+ const t = xe(
2960
+ ({ types: n, empty: i }) => {
2961
+ if (e != null) {
2962
+ {
2963
+ if (n.length === 1 && n[0] === "plain")
2964
+ return i != null ? { display: "inline-block" } : void 0;
2965
+ if (n.length === 1 && i != null)
2966
+ return e[n[0]];
2967
+ }
2968
+ return Object.assign(
2969
+ i != null ? { display: "inline-block" } : {},
2970
+ ...n.map((u) => e[u])
2971
+ );
2972
+ }
2973
+ },
2974
+ [e]
2975
+ );
2976
+ return xe(
2977
+ (n) => {
2978
+ var i = n, { token: u, className: v, style: d } = i, h = Ge(i, ["token", "className", "style"]);
2979
+ const y = we(Y({}, h), {
2980
+ className: je("token", ...u.types, v),
2981
+ children: u.content,
2982
+ style: t(u)
2983
+ });
2984
+ return d != null && (y.style = Y(Y({}, y.style || {}), d)), y;
2985
+ },
2986
+ [t]
2987
+ );
2988
+ }, sn = /\r\n|\r|\n/, Be = (e) => {
2989
+ e.length === 0 ? e.push({
2990
+ types: ["plain"],
2991
+ content: `
2992
+ `,
2993
+ empty: !0
2994
+ }) : e.length === 1 && e[0].content === "" && (e[0].content = `
2995
+ `, e[0].empty = !0);
2996
+ }, $e = (e, t) => {
2997
+ const n = e.length;
2998
+ return n > 0 && e[n - 1] === t ? e : e.concat(t);
2999
+ }, ln = (e) => {
3000
+ const t = [[]], n = [e], i = [0], u = [e.length];
3001
+ let v = 0, d = 0, h = [];
3002
+ const y = [h];
3003
+ for (; d > -1; ) {
3004
+ for (; (v = i[d]++) < u[d]; ) {
3005
+ let f, m = t[d];
3006
+ const w = n[d][v];
3007
+ if (typeof w == "string" ? (m = d > 0 ? m : ["plain"], f = w) : (m = $e(m, w.type), w.alias && (m = $e(m, w.alias)), f = w.content), typeof f != "string") {
3008
+ d++, t.push(m), n.push(f), i.push(0), u.push(f.length);
3009
+ continue;
3010
+ }
3011
+ const A = f.split(sn), r = A.length;
3012
+ h.push({
3013
+ types: m,
3014
+ content: A[0]
3015
+ });
3016
+ for (let a = 1; a < r; a++)
3017
+ Be(h), y.push(h = []), h.push({
3018
+ types: m,
3019
+ content: A[a]
3020
+ });
3021
+ }
3022
+ d--, t.pop(), n.pop(), i.pop(), u.pop();
3023
+ }
3024
+ return Be(h), y;
3025
+ }, Pe = ln, un = ({ prism: e, code: t, grammar: n, language: i }) => Xe(() => {
3026
+ if (n == null)
3027
+ return Pe([t]);
3028
+ const u = {
3029
+ code: t,
3030
+ grammar: n,
3031
+ language: i,
3032
+ tokens: []
3033
+ };
3034
+ return e.hooks.run("before-tokenize", u), u.tokens = e.tokenize(t, n), e.hooks.run("after-tokenize", u), Pe(u.tokens);
3035
+ }, [
3036
+ t,
3037
+ n,
3038
+ i,
3039
+ // prism is a stable import
3040
+ e
3041
+ ]), cn = (e, t) => {
3042
+ const { plain: n } = e, i = e.styles.reduce((u, v) => {
3043
+ const { languages: d, style: h } = v;
3044
+ return d && !d.includes(t) || v.types.forEach((y) => {
3045
+ const f = Y(Y({}, u[y]), h);
3046
+ u[y] = f;
3047
+ }), u;
3048
+ }, {});
3049
+ return i.root = n, i.plain = we(Y({}, n), { backgroundColor: void 0 }), i;
3050
+ }, pn = cn, dn = ({
3051
+ children: e,
3052
+ language: t,
3053
+ code: n,
3054
+ theme: i,
3055
+ prism: u
3056
+ }) => {
3057
+ const v = t.toLowerCase(), d = pn(i, v), h = rn(d), y = on(d), f = u.languages[v], m = un({ prism: u, language: v, code: n, grammar: f });
3058
+ return e({
3059
+ tokens: m,
3060
+ className: `prism-code language-${v}`,
3061
+ style: d != null ? d.root : {},
3062
+ getLineProps: h,
3063
+ getTokenProps: y
3064
+ });
3065
+ }, bn = (e) => Ve(dn, we(Y({}, e), {
3066
+ prism: e.prism || o,
3067
+ theme: e.theme || Ke,
3068
+ code: e.code,
3069
+ language: e.language
3070
+ }));
3071
+ /*! Bundled license information:
3072
+
3073
+ prismjs/prism.js:
3074
+ (**
3075
+ * Prism: Lightweight, robust, elegant syntax highlighting
3076
+ *
3077
+ * @license MIT <https://opensource.org/licenses/MIT>
3078
+ * @author Lea Verou <https://lea.verou.me>
3079
+ * @namespace
3080
+ * @public
3081
+ *)
3082
+ */
3083
+ export {
3084
+ bn as H,
3085
+ o as P,
3086
+ fn as _,
3087
+ ht as t
3088
+ };