hugo-theme-terminal/static/assets/prism.js
2019-03-31 19:18:43 +02:00

122 lines
194 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./source/js/prism.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./node_modules/clipboard/dist/clipboard.js":
/*!**************************************************!*\
!*** ./node_modules/clipboard/dist/clipboard.js ***!
\**************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("/*!\n * clipboard.js v2.0.4\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clipboardAction = __webpack_require__(1);\n\nvar _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\nvar _tinyEmitter = __webpack_require__(3);\n\nvar _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\nvar _goodListener = __webpack_require__(4);\n\nvar _goodListener2 = _interopRequireDefault(_goodListener);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\nvar Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(_tinyEmitter2.default);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\nmodule.exports = Clipboard;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _select = __webpack_require__(2);\n\nvar _select2 = _interopRequireDefault(_select);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\nvar ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\nmodule.exports = ClipboardAction;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(5);\nvar delegate = __webpack_require__(6);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(7);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ })\n/******/ ]);\n});\n\n//# sourceURL=webpack:///./node_modules/clipboard/dist/clipboard.js?");
/***/ }),
/***/ "./node_modules/webpack/buildin/global.js":
/*!***********************************!*\
!*** (webpack)/buildin/global.js ***!
\***********************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///(webpack)/buildin/global.js?");
/***/ }),
/***/ "./source/js/prism.js":
/*!****************************!*\
!*** ./source/js/prism.js ***!
\****************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(global) {/* PrismJS 1.15.0\nhttps://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+actionscript+apacheconf+applescript+c+csharp+bash+cpp+coffeescript+ruby+csp+css-extras+diff+markup-templating+docker+elixir+elm+erlang+fsharp+flow+git+go+graphql+less+handlebars+haskell+http+java+php+json+kotlin+latex+markdown+makefile+django+typescript+objectivec+ocaml+perl+php-extras+sql+processing+scss+python+r+jsx+reason+textile+rust+sass+stylus+scheme+twig+swift+yaml+haml+toml+pug+tsx+visual-basic+vim+wasm&plugins=line-highlight+line-numbers+toolbar+jsonp-highlight+command-line+copy-to-clipboard */\nvar _self = \"undefined\" != typeof window ? window : \"undefined\" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},\n Prism = function (g) {\n var c = /\\blang(?:uage)?-([\\w-]+)\\b/i,\n a = 0,\n C = {\n manual: g.Prism && g.Prism.manual,\n disableWorkerMessageHandler: g.Prism && g.Prism.disableWorkerMessageHandler,\n util: {\n encode: function encode(e) {\n return e instanceof M ? new M(e.type, C.util.encode(e.content), e.alias) : Array.isArray(e) ? e.map(C.util.encode) : e.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/\\u00a0/g, \" \");\n },\n type: function type(e) {\n return Object.prototype.toString.call(e).slice(8, -1);\n },\n objId: function objId(e) {\n return e.__id || Object.defineProperty(e, \"__id\", {\n value: ++a\n }), e.__id;\n },\n clone: function t(e, n) {\n var r,\n a,\n i = C.util.type(e);\n\n switch (n = n || {}, i) {\n case \"Object\":\n if (a = C.util.objId(e), n[a]) return n[a];\n\n for (var l in r = {}, n[a] = r, e) {\n e.hasOwnProperty(l) && (r[l] = t(e[l], n));\n }\n\n return r;\n\n case \"Array\":\n return a = C.util.objId(e), n[a] ? n[a] : (r = [], n[a] = r, e.forEach(function (e, a) {\n r[a] = t(e, n);\n }), r);\n\n default:\n return e;\n }\n }\n },\n languages: {\n extend: function extend(e, a) {\n var t = C.util.clone(C.languages[e]);\n\n for (var n in a) {\n t[n] = a[n];\n }\n\n return t;\n },\n insertBefore: function insertBefore(t, e, a, n) {\n var r = (n = n || C.languages)[t],\n i = {};\n\n for (var l in r) {\n if (r.hasOwnProperty(l)) {\n if (l == e) for (var o in a) {\n a.hasOwnProperty(o) && (i[o] = a[o]);\n }\n a.hasOwnProperty(l) || (i[l] = r[l]);\n }\n }\n\n var s = n[t];\n return n[t] = i, C.languages.DFS(C.languages, function (e, a) {\n a === s && e != t && (this[e] = i);\n }), i;\n },\n DFS: function e(a, t, n, r) {\n r = r || {};\n var i = C.util.objId;\n\n for (var l in a) {\n if (a.hasOwnProperty(l)) {\n t.call(a, l, a[l], n || l);\n var o = a[l],\n s = C.util.type(o);\n \"Object\" !== s || r[i(o)] ? \"Array\" !== s || r[i(o)] || (r[i(o)] = !0, e(o, t, l, r)) : (r[i(o)] = !0, e(o, t, null, r));\n }\n }\n }\n },\n plugins: {},\n highlightAll: function highlightAll(e, a) {\n C.highlightAllUnder(document, e, a);\n },\n highlightAllUnder: function highlightAllUnder(e, a, t) {\n var n = {\n callback: t,\n selector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n };\n C.hooks.run(\"before-highlightall\", n);\n\n for (var r, i = n.elements || e.querySelectorAll(n.selector), l = 0; r = i[l++];) {\n C.highlightElement(r, !0 === a, n.callback);\n }\n },\n highlightElement: function highlightElement(e, a, t) {\n for (var n, r, i = e; i && !c.test(i.className);) {\n i = i.parentNode;\n }\n\n i && (n = (i.className.match(c) || [, \"\"])[1].toLowerCase(), r = C.languages[n]), e.className = e.className.replace(c, \"\").replace(/\\s+/g, \" \") + \" language-\" + n, e.parentNode && (i = e.parentNode, /pre/i.test(i.nodeName) && (i.className = i.className.replace(c, \"\").replace(/\\s+/g, \" \") + \" language-\" + n));\n\n var l = {\n element: e,\n language: n,\n grammar: r,\n code: e.textContent\n },\n o = function o(e) {\n l.highlightedCode = e, C.hooks.run(\"before-insert\", l), l.element.innerHTML = l.highlightedCode, C.hooks.run(\"after-highlight\", l), C.hooks.run(\"complete\", l), t && t.call(l.element);\n };\n\n if (C.hooks.run(\"before-sanity-check\", l), l.code) {\n if (C.hooks.run(\"before-highlight\", l), l.grammar) {\n if (a && g.Worker) {\n var s = new Worker(C.filename);\n s.onmessage = function (e) {\n o(e.data);\n }, s.postMessage(JSON.stringify({\n language: l.language,\n code: l.code,\n immediateClose: !0\n }));\n } else o(C.highlight(l.code, l.grammar, l.language));\n } else o(C.util.encode(l.code));\n } else C.hooks.run(\"complete\", l);\n },\n highlight: function highlight(e, a, t) {\n var n = {\n code: e,\n grammar: a,\n language: t\n };\n return C.hooks.run(\"before-tokenize\", n), n.tokens = C.tokenize(n.code, n.grammar), C.hooks.run(\"after-tokenize\", n), M.stringify(C.util.encode(n.tokens), n.language);\n },\n matchGrammar: function matchGrammar(e, a, t, n, r, i, l) {\n for (var o in t) {\n if (t.hasOwnProperty(o) && t[o]) {\n if (o == l) return;\n var s = t[o];\n s = \"Array\" === C.util.type(s) ? s : [s];\n\n for (var g = 0; g < s.length; ++g) {\n var c = s[g],\n u = c.inside,\n h = !!c.lookbehind,\n f = !!c.greedy,\n d = 0,\n m = c.alias;\n\n if (f && !c.pattern.global) {\n var p = c.pattern.toString().match(/[imuy]*$/)[0];\n c.pattern = RegExp(c.pattern.source, p + \"g\");\n }\n\n c = c.pattern || c;\n\n for (var y = n, v = r; y < a.length; v += a[y].length, ++y) {\n var k = a[y];\n if (a.length > e.length) return;\n\n if (!(k instanceof M)) {\n if (f && y != a.length - 1) {\n if (c.lastIndex = v, !(x = c.exec(e))) break;\n\n for (var b = x.index + (h ? x[1].length : 0), w = x.index + x[0].length, A = y, P = v, O = a.length; A < O && (P < w || !a[A].type && !a[A - 1].greedy); ++A) {\n (P += a[A].length) <= b && (++y, v = P);\n }\n\n if (a[y] instanceof M) continue;\n N = A - y, k = e.slice(v, P), x.index -= v;\n } else {\n c.lastIndex = 0;\n var x = c.exec(k),\n N = 1;\n }\n\n if (x) {\n h && (d = x[1] ? x[1].length : 0);\n w = (b = x.index + d) + (x = x[0].slice(d)).length;\n var j = k.slice(0, b),\n S = k.slice(w),\n E = [y, N];\n j && (++y, v += j.length, E.push(j));\n\n var _ = new M(o, u ? C.tokenize(x, u) : x, m, x, f);\n\n if (E.push(_), S && E.push(S), Array.prototype.splice.apply(a, E), 1 != N && C.matchGrammar(e, a, t, y, v, !0, o), i) break;\n } else if (i) break;\n }\n }\n }\n }\n }\n },\n tokenize: function tokenize(e, a) {\n var t = [e],\n n = a.rest;\n\n if (n) {\n for (var r in n) {\n a[r] = n[r];\n }\n\n delete a.rest;\n }\n\n return C.matchGrammar(e, t, a, 0, 0, !1), t;\n },\n hooks: {\n all: {},\n add: function add(e, a) {\n var t = C.hooks.all;\n t[e] = t[e] || [], t[e].push(a);\n },\n run: function run(e, a) {\n var t = C.hooks.all[e];\n if (t && t.length) for (var n, r = 0; n = t[r++];) {\n n(a);\n }\n }\n },\n Token: M\n };\n\n function M(e, a, t, n, r) {\n this.type = e, this.content = a, this.alias = t, this.length = 0 | (n || \"\").length, this.greedy = !!r;\n }\n\n if (g.Prism = C, M.stringify = function (a, t, e) {\n if (\"string\" == typeof a) return a;\n if (Array.isArray(a)) return a.map(function (e) {\n return M.stringify(e, t, a);\n }).join(\"\");\n var n = {\n type: a.type,\n content: M.stringify(a.content, t, e),\n tag: \"span\",\n classes: [\"token\", a.type],\n attributes: {},\n language: t,\n parent: e\n };\n\n if (a.alias) {\n var r = Array.isArray(a.alias) ? a.alias : [a.alias];\n Array.prototype.push.apply(n.classes, r);\n }\n\n C.hooks.run(\"wrap\", n);\n var i = Object.keys(n.attributes).map(function (e) {\n return e + '=\"' + (n.attributes[e] || \"\").replace(/\"/g, \"&quot;\") + '\"';\n }).join(\" \");\n return \"<\" + n.tag + ' class=\"' + n.classes.join(\" \") + '\"' + (i ? \" \" + i : \"\") + \">\" + n.content + \"</\" + n.tag + \">\";\n }, !g.document) return g.addEventListener && (C.disableWorkerMessageHandler || g.addEventListener(\"message\", function (e) {\n var a = JSON.parse(e.data),\n t = a.language,\n n = a.code,\n r = a.immediateClose;\n g.postMessage(C.highlight(n, C.languages[t], t)), r && g.close();\n }, !1)), C;\n var e = document.currentScript || [].slice.call(document.getElementsByTagName(\"script\")).pop();\n return e && (C.filename = e.src, C.manual || e.hasAttribute(\"data-manual\") || (\"loading\" !== document.readyState ? window.requestAnimationFrame ? window.requestAnimationFrame(C.highlightAll) : window.setTimeout(C.highlightAll, 16) : document.addEventListener(\"DOMContentLoaded\", C.highlightAll))), C;\n}(_self);\n\n true && module.exports && (module.exports = Prism), \"undefined\" != typeof global && (global.Prism = Prism);\nPrism.languages.markup = {\n comment: /<!--[\\s\\S]*?-->/,\n prolog: /<\\?[\\s\\S]+?\\?>/,\n doctype: /<!DOCTYPE[\\s\\S]+?>/i,\n cdata: /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n tag: {\n pattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/i,\n greedy: !0,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/i,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n \"attr-value\": {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/i,\n inside: {\n punctuation: [/^=/, {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: !0\n }]\n }\n },\n punctuation: /\\/?>/,\n \"attr-name\": {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: /&#?[\\da-z]{1,8};/i\n}, Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity = Prism.languages.markup.entity, Prism.hooks.add(\"wrap\", function (a) {\n \"entity\" === a.type && (a.attributes.title = a.content.replace(/&amp;/, \"&\"));\n}), Object.defineProperty(Prism.languages.markup.tag, \"addInlined\", {\n value: function value(a, e) {\n var s = {};\n s[\"language-\" + e] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: !0,\n inside: Prism.languages[e]\n }, s.cdata = /^<!\\[CDATA\\[|\\]\\]>$/i;\n var n = {\n \"included-cdata\": {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: s\n }\n };\n n[\"language-\" + e] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[e]\n };\n var i = {};\n i[a] = {\n pattern: RegExp(\"(<__[\\\\s\\\\S]*?>)(?:<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\s*|[\\\\s\\\\S])*?(?=<\\\\/__>)\".replace(/__/g, a), \"i\"),\n lookbehind: !0,\n greedy: !0,\n inside: n\n }, Prism.languages.insertBefore(\"markup\", \"cdata\", i);\n }\n}), Prism.languages.xml = Prism.languages.extend(\"markup\", {}), Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;\n!function (s) {\n var e = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;\n s.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: /@[\\w-]+?[\\s\\S]*?(?:;|(?=\\s*\\{))/i,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: RegExp(\"url\\\\((?:\" + e.source + \"|.*?)\\\\)\", \"i\"),\n selector: RegExp(\"[^{}\\\\s](?:[^{};\\\"']|\" + e.source + \")*?(?=\\\\s*\\\\{)\"),\n string: {\n pattern: e,\n greedy: !0\n },\n property: /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n important: /!important\\b/i,\n function: /[-a-z0-9]+(?=\\()/i,\n punctuation: /[(){};:,]/\n }, s.languages.css.atrule.inside.rest = s.languages.css;\n var a = s.languages.markup;\n a && (a.tag.addInlined(\"style\", \"css\"), s.languages.insertBefore(\"inside\", \"attr-value\", {\n \"style-attr\": {\n pattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n inside: {\n \"attr-name\": {\n pattern: /^\\s*style/i,\n inside: a.tag.inside\n },\n punctuation: /^\\s*=\\s*['\"]|['\"]\\s*$/,\n \"attr-value\": {\n pattern: /.+/i,\n inside: s.languages.css\n }\n },\n alias: \"language-css\"\n }\n }, a.tag));\n}(Prism);\nPrism.languages.clike = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0,\n greedy: !0\n }],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n \"class-name\": {\n pattern: /((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,\n lookbehind: !0,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword: /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n boolean: /\\b(?:true|false)\\b/,\n function: /\\w+(?=\\()/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n punctuation: /[{}[\\];(),.:]/\n};\nPrism.languages.javascript = Prism.languages.extend(\"clike\", {\n \"class-name\": [Prism.languages.clike[\"class-name\"], {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[_$A-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\.(?:prototype|constructor))/,\n lookbehind: !0\n }],\n keyword: [{\n pattern: /((?:^|})\\s*)(?:catch|finally)\\b/,\n lookbehind: !0\n }, {\n pattern: /(^|[^.])\\b(?:as|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|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)\\b/,\n lookbehind: !0\n }],\n number: /\\b(?:(?:0[xX][\\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\\d+n|NaN|Infinity)\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n function: /[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n operator: /-[-=]?|\\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/\n}), Prism.languages.javascript[\"class-name\"][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/, Prism.languages.insertBefore(\"javascript\", \"keyword\", {\n regex: {\n pattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyu]{0,5}(?=\\s*($|[\\r\\n,.;})\\]]))/,\n lookbehind: !0,\n greedy: !0\n },\n \"function-variable\": {\n pattern: /[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/,\n alias: \"function\"\n },\n parameter: [{\n pattern: /(function(?:\\s+[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)?\\s*\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\))/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n pattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=>)/i,\n inside: Prism.languages.javascript\n }, {\n pattern: /(\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*=>)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }, {\n 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]))(?:[_$A-Za-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\s*)\\(\\s*)(?!\\s)(?:[^()]|\\([^()]*\\))+?(?=\\s*\\)\\s*\\{)/,\n lookbehind: !0,\n inside: Prism.languages.javascript\n }],\n constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n}), Prism.languages.insertBefore(\"javascript\", \"string\", {\n \"template-string\": {\n pattern: /`(?:\\\\[\\s\\S]|\\${[^}]+}|[^\\\\`])*`/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\${[^}]+}/,\n inside: {\n \"interpolation-punctuation\": {\n pattern: /^\\${|}$/,\n alias: \"punctuation\"\n },\n rest: Prism.languages.javascript\n }\n },\n string: /[\\s\\S]+/\n }\n }\n}), Prism.languages.markup && Prism.languages.markup.tag.addInlined(\"script\", \"javascript\"), Prism.languages.js = Prism.languages.javascript;\nPrism.languages.actionscript = Prism.languages.extend(\"javascript\", {\n keyword: /\\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\\b/,\n operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/\n}), Prism.languages.actionscript[\"class-name\"].alias = \"function\", Prism.languages.markup && Prism.languages.insertBefore(\"actionscript\", \"string\", {\n xml: {\n pattern: /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,\n lookbehind: !0,\n inside: {\n rest: Prism.languages.markup\n }\n }\n});\nPrism.languages.apacheconf = {\n comment: /#.*/,\n \"directive-inline\": {\n pattern: /(^\\s*)\\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|Type|UserFile|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferSize|BufferedLogs|CGIDScriptTimeout|CGIMapExtension|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DTracePrivileges|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtFilterDefine|ExtFilterOptions|ExtendedStatus|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|KeepAlive|KeepAliveTimeout|KeptBodySize|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|LanguagePriority|Limit(?:InternalRecursion|Request(?:Body|FieldSize|Fields|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|MMapFile|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|ModMimeUsePathInfo|ModemStandard|MultiviewsMatch|Mutex|NWSSLTrustedCerts|NWSSLUpgradeable|NameVirtualHost|NoProxy|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|RLimitCPU|RLimitMEM|RLimitNPROC|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|SSIETag|SSIEndTag|SSIErrorMsg|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|SRPUnknownUserSeed|SRPVerifierFile|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UseStapling|UserName|VerifyClient|VerifyDepth)|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadStackSize|ThreadsPerChild|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\\b/im,\n lookbehind: !0,\n alias: \"property\"\n },\n \"directive-block\": {\n pattern: /<\\/?\\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\\b *.*>/i,\n inside: {\n \"directive-block\": {\n pattern: /^<\\/?\\w+/,\n inside: {\n punctuation: /^<\\/?/\n },\n alias: \"tag\"\n },\n \"directive-block-parameter\": {\n pattern: /.*[^>]/,\n inside: {\n punctuation: /:/,\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n }\n },\n alias: \"attr-value\"\n },\n punctuation: />/\n },\n alias: \"tag\"\n },\n \"directive-flags\": {\n pattern: /\\[(?:\\w,?)+\\]/,\n alias: \"keyword\"\n },\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n },\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,\n regex: /\\^?.*\\$|\\^.*\\$?/\n};\nPrism.languages.applescript = {\n comment: [/\\(\\*(?:\\(\\*[\\s\\S]*?\\*\\)|[\\s\\S])*?\\*\\)/, /--.+/, /#.+/],\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n number: /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,\n operator: [/[&=≠≤≥*+\\-\\/÷^]|[<>]=?/, /\\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\\b/],\n keyword: /\\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b/,\n class: {\n pattern: /\\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\\b/,\n alias: \"builtin\"\n },\n punctuation: /[{}():,¬«»《》]/\n};\nPrism.languages.c = Prism.languages.extend(\"clike\", {\n \"class-name\": {\n pattern: /(\\b(?:enum|struct)\\s+)\\w+/,\n lookbehind: !0\n },\n keyword: /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\\b/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/,\n number: /(?:\\b0x(?:[\\da-f]+\\.?[\\da-f]*|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]*/i\n}), Prism.languages.insertBefore(\"c\", \"string\", {\n macro: {\n pattern: /(^\\s*)#\\s*[a-z]+(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: !0,\n alias: \"property\",\n inside: {\n string: {\n pattern: /(#\\s*include\\s*)(?:<.+?>|(\"|')(?:\\\\?.)+?\\2)/,\n lookbehind: !0\n },\n directive: {\n pattern: /(#\\s*)\\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n },\n constant: /\\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\\b/\n}), delete Prism.languages.c.boolean;\nPrism.languages.csharp = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)\\b/,\n string: [{\n pattern: /@(\"|')(?:\\1\\1|\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }, {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*?\\1/,\n greedy: !0\n }],\n \"class-name\": [{\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=\\s+\\w+)/,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }, {\n pattern: /((?:\\b(?:class|interface|new)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n }],\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)f?/i,\n operator: />>=?|<<=?|[-=]>|([-+&|?])\\1|~|[-+*/%&|^!=<>]=?/,\n punctuation: /\\?\\.?|::|[{}[\\];(),.:]/\n}), Prism.languages.insertBefore(\"csharp\", \"class-name\", {\n \"generic-method\": {\n pattern: /\\w+\\s*<[^>\\r\\n]+?>\\s*(?=\\()/,\n inside: {\n function: /^\\w+/,\n \"class-name\": {\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n keyword: Prism.languages.csharp.keyword,\n punctuation: /[<>(),.:]/\n }\n },\n preprocessor: {\n pattern: /(^\\s*)#.*/m,\n lookbehind: !0,\n alias: \"property\",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n }\n}), Prism.languages.dotnet = Prism.languages.csharp;\n!function (e) {\n var a = {\n variable: [{\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n inside: {\n variable: [{\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: !0\n }, /^\\$\\(\\(/],\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator: /--?|-=|\\+\\+?|\\+=|!=?|~|\\*\\*?|\\*=|\\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\\^=?|\\|\\|?|\\|=|\\?|:/,\n punctuation: /\\(\\(?|\\)\\)?|,|;/\n }\n }, {\n pattern: /\\$\\([^)]+\\)|`[^`]+`/,\n greedy: !0,\n inside: {\n variable: /^\\$\\(|^`|\\)$|`$/\n }\n }, /\\$(?:[\\w#?*!@]+|\\{[^}]+\\})/i]\n };\n e.languages.bash = {\n shebang: {\n pattern: /^#!\\s*\\/bin\\/bash|^#!\\s*\\/bin\\/sh/,\n alias: \"important\"\n },\n comment: {\n pattern: /(^|[^\"{\\\\])#.*/,\n lookbehind: !0\n },\n string: [{\n pattern: /((?:^|[^<])<<\\s*)[\"']?(\\w+?)[\"']?\\s*\\r?\\n(?:[\\s\\S])*?\\r?\\n\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: a\n }, {\n pattern: /([\"'])(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|`[^`]+`|(?!\\1)[^\\\\])*\\1/,\n greedy: !0,\n inside: a\n }],\n variable: a.variable,\n function: {\n pattern: /(^|[\\s;|&])(?:add|alias|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|hash|head|help|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logout|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tail|tar|tee|test|time|timeout|times|top|touch|tr|traceroute|trap|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zip|zypper)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n keyword: {\n pattern: /(^|[\\s;|&])(?:let|:|\\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n boolean: {\n pattern: /(^|[\\s;|&])(?:true|false)(?=$|[\\s;|&])/,\n lookbehind: !0\n },\n operator: /&&?|\\|\\|?|==?|!=?|<<<?|>>|<=?|>=?|=~/,\n punctuation: /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];]/\n };\n var t = a.variable[1].inside;\n t.string = e.languages.bash.string, t.function = e.languages.bash.function, t.keyword = e.languages.bash.keyword, t.boolean = e.languages.bash.boolean, t.operator = e.languages.bash.operator, t.punctuation = e.languages.bash.punctuation, e.languages.shell = e.languages.bash;\n}(Prism);\nPrism.languages.cpp = Prism.languages.extend(\"c\", {\n \"class-name\": {\n pattern: /(\\b(?:class|enum|struct)\\s+)\\w+/,\n lookbehind: !0\n },\n keyword: /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,\n boolean: /\\b(?:true|false)\\b/,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/\n}), Prism.languages.insertBefore(\"cpp\", \"string\", {\n \"raw-string\": {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: \"string\",\n greedy: !0\n }\n});\n!function (e) {\n var t = /#(?!\\{).+/,\n n = {\n pattern: /#\\{[^}]+\\}/,\n alias: \"variable\"\n };\n e.languages.coffeescript = e.languages.extend(\"javascript\", {\n comment: t,\n string: [{\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: !0\n }, {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }],\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/,\n \"class-member\": {\n pattern: /@(?!\\d)\\w+/,\n alias: \"variable\"\n }\n }), e.languages.insertBefore(\"coffeescript\", \"comment\", {\n \"multiline-comment\": {\n pattern: /###[\\s\\S]+?###/,\n alias: \"comment\"\n },\n \"block-regex\": {\n pattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n alias: \"regex\",\n inside: {\n comment: t,\n interpolation: n\n }\n }\n }), e.languages.insertBefore(\"coffeescript\", \"string\", {\n \"inline-javascript\": {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: \"punctuation\"\n },\n rest: e.languages.javascript\n }\n },\n \"multiline-string\": [{\n pattern: /'''[\\s\\S]*?'''/,\n greedy: !0,\n alias: \"string\"\n }, {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: !0,\n alias: \"string\",\n inside: {\n interpolation: n\n }\n }]\n }), e.languages.insertBefore(\"coffeescript\", \"keyword\", {\n property: /(?!\\d)\\w+(?=\\s*:(?!:))/\n }), delete e.languages.coffeescript[\"template-string\"], e.languages.coffee = e.languages.coffeescript;\n}(Prism);\n!function (e) {\n e.languages.ruby = e.languages.extend(\"clike\", {\n comment: [/#.*/, {\n pattern: /^=begin\\s[\\s\\S]*?^=end/m,\n greedy: !0\n }],\n keyword: /\\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\\b/\n });\n var n = {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"tag\"\n },\n rest: e.languages.ruby\n }\n };\n delete e.languages.ruby.function, e.languages.insertBefore(\"ruby\", \"keyword\", {\n regex: [{\n pattern: /%r([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\][gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%r<(?:[^<>\\\\]|\\\\[\\s\\S])*>[gim]{0,3}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /(^|[^/])\\/(?!\\/)(\\[.+?]|\\\\.|[^/\\\\\\r\\n])+\\/[gim]{0,3}(?=\\s*($|[\\r\\n,.;})]))/,\n lookbehind: !0,\n greedy: !0\n }],\n variable: /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n symbol: {\n pattern: /(^|[^:]):[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n lookbehind: !0\n },\n \"method-definition\": {\n pattern: /(\\bdef\\s+)[\\w.]+/,\n lookbehind: !0,\n inside: {\n function: /\\w+$/,\n rest: e.languages.ruby\n }\n }\n }), e.languages.insertBefore(\"ruby\", \"number\", {\n builtin: /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\\b/,\n constant: /\\b[A-Z]\\w*(?:[?!]|\\b)/\n }), e.languages.ruby.string = [{\n pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[\\s\\S])*\\}/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /%[qQiIwWxs]?<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }, {\n pattern: /(\"|')(?:#\\{[^}]+\\}|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: n\n }\n }], e.languages.rb = e.languages.ruby;\n}(Prism);\nPrism.languages.csp = {\n directive: {\n pattern: /\\b(?:(?:base-uri|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox) |(?:block-all-mixed-content|disown-opener|upgrade-insecure-requests)(?: |;)|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src )/i,\n alias: \"keyword\"\n },\n safe: {\n pattern: /'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\\d+=/]+)'/,\n alias: \"selector\"\n },\n unsafe: {\n pattern: /(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\\*)/,\n alias: \"function\"\n }\n};\nPrism.languages.css.selector = {\n pattern: Prism.languages.css.selector,\n inside: {\n \"pseudo-element\": /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\n \"pseudo-class\": /:[-\\w]+/,\n class: /\\.[-:.\\w]+/,\n id: /#[-:.\\w]+/,\n attribute: {\n pattern: /\\[(?:[^[\\]\"']|(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1)*\\]/,\n greedy: !0,\n inside: {\n punctuation: /^\\[|\\]$/,\n \"case-sensitivity\": {\n pattern: /(\\s)[si]$/i,\n lookbehind: !0,\n alias: \"keyword\"\n },\n namespace: {\n pattern: /^(\\s*)[-*\\w\\xA0-\\uFFFF]*\\|(?!=)/,\n lookbehind: !0,\n inside: {\n punctuation: /\\|$/\n }\n },\n attribute: {\n pattern: /^(\\s*)[-\\w\\xA0-\\uFFFF]+/,\n lookbehind: !0\n },\n value: [/(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/, {\n pattern: /(=\\s*)[-\\w\\xA0-\\uFFFF]+(?=\\s*$)/,\n lookbehind: !0\n }],\n operator: /[|~*^$]?=/\n }\n },\n \"n-th\": {\n pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/,\n lookbehind: !0,\n inside: {\n number: /[\\dn]+/,\n operator: /[+-]/\n }\n },\n punctuation: /[()]/\n }\n}, Prism.languages.insertBefore(\"css\", \"property\", {\n variable: {\n pattern: /(^|[^-\\w\\xA0-\\uFFFF])--[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*/i,\n lookbehind: !0\n }\n}), Prism.languages.insertBefore(\"css\", \"function\", {\n operator: {\n pattern: /(\\s)[+\\-*\\/](?=\\s)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,8}/i,\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: {\n pattern: /(\\d)(?:%|[a-z]+)/,\n lookbehind: !0\n },\n number: /-?[\\d.]+/\n});\nPrism.languages.diff = {\n coord: [/^(?:\\*{3}|-{3}|\\+{3}).*$/m, /^@@.*@@$/m, /^\\d+.*$/m],\n deleted: /^[-<].*$/m,\n inserted: /^[+>].*$/m,\n diff: {\n pattern: /^!(?!!).+$/m,\n alias: \"important\"\n }\n};\n!function (h) {\n function v(e, n) {\n return \"___\" + e.toUpperCase() + n + \"___\";\n }\n\n Object.defineProperties(h.languages[\"markup-templating\"] = {}, {\n buildPlaceholders: {\n value: function value(a, r, e, o) {\n if (a.language === r) {\n var c = a.tokenStack = [];\n a.code = a.code.replace(e, function (e) {\n if (\"function\" == typeof o && !o(e)) return e;\n\n for (var n, t = c.length; -1 !== a.code.indexOf(n = v(r, t));) {\n ++t;\n }\n\n return c[t] = e, n;\n }), a.grammar = h.languages.markup;\n }\n }\n },\n tokenizePlaceholders: {\n value: function value(p, k) {\n if (p.language === k && p.tokenStack) {\n p.grammar = h.languages[k];\n var m = 0,\n d = Object.keys(p.tokenStack);\n !function e(n) {\n for (var t = 0; t < n.length && !(m >= d.length); t++) {\n var a = n[t];\n\n if (\"string\" == typeof a || a.content && \"string\" == typeof a.content) {\n var r = d[m],\n o = p.tokenStack[r],\n c = \"string\" == typeof a ? a : a.content,\n i = v(k, r),\n u = c.indexOf(i);\n\n if (-1 < u) {\n ++m;\n var g = c.substring(0, u),\n l = new h.Token(k, h.tokenize(o, p.grammar), \"language-\" + k, o),\n s = c.substring(u + i.length),\n f = [];\n g && f.push.apply(f, e([g])), f.push(l), s && f.push.apply(f, e([s])), \"string\" == typeof a ? n.splice.apply(n, [t, 1].concat(f)) : a.content = f;\n }\n } else a.content && e(a.content);\n }\n\n return n;\n }(p.tokens);\n }\n }\n }\n });\n}(Prism);\nPrism.languages.docker = {\n keyword: {\n pattern: /(^\\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)/im,\n lookbehind: !0\n },\n string: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n comment: /#.*/,\n punctuation: /---|\\.\\.\\.|[:[\\]{}\\-,|>?]/\n}, Prism.languages.dockerfile = Prism.languages.docker;\nPrism.languages.elixir = {\n comment: {\n pattern: /#.*/m,\n lookbehind: !0\n },\n regex: {\n pattern: /~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,\n greedy: !0\n },\n string: [{\n pattern: /~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n greedy: !0,\n inside: {}\n }, {\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {}\n }],\n atom: {\n pattern: /(^|[^:]):\\w+/,\n lookbehind: !0,\n alias: \"symbol\"\n },\n \"attr-name\": /\\w+:(?!:)/,\n capture: {\n pattern: /(^|[^&])&(?:[^&\\s\\d()][^\\s()]*|(?=\\())/,\n lookbehind: !0,\n alias: \"function\"\n },\n argument: {\n pattern: /(^|[^&])&\\d+/,\n lookbehind: !0,\n alias: \"variable\"\n },\n attribute: {\n pattern: /@\\w+/,\n alias: \"variable\"\n },\n number: /\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,\n keyword: /\\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\\b/,\n boolean: /\\b(?:true|false|nil)\\b/,\n operator: [/\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/, {\n pattern: /([^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /([^>])>(?!>)/,\n lookbehind: !0\n }],\n punctuation: /<<|>>|[.,%\\[\\]{}()]/\n}, Prism.languages.elixir.string.forEach(function (e) {\n e.inside = {\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"punctuation\"\n },\n rest: Prism.languages.elixir\n }\n }\n };\n});\nPrism.languages.elm = {\n comment: /--.*|{-[\\s\\S]*?-}/,\n char: {\n pattern: /'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+))'/,\n greedy: !0\n },\n string: [{\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: !0\n }, {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\(?:[abfnrtv\\\\\"]|\\d+|x[0-9a-fA-F]+))*\"/,\n greedy: !0\n }],\n import_statement: {\n pattern: /^\\s*import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+([A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,\n inside: {\n keyword: /\\b(?:import|as|exposing)\\b/\n }\n },\n keyword: /\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,\n builtin: /\\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\\b/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[+\\-/*=.$<>:&|^?%#@~!]{2,}|[+\\-/*=$<>:&|^?%#@~!]/,\n hvariable: /\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,\n constant: /\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,\n punctuation: /[{}[\\]|(),.:]/\n};\nPrism.languages.erlang = {\n comment: /%.+/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n \"quoted-function\": {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,\n alias: \"function\"\n },\n \"quoted-atom\": {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'/,\n alias: \"atom\"\n },\n boolean: /\\b(?:true|false)\\b/,\n keyword: /\\b(?:fun|when|case|of|end|if|receive|after|try|catch)\\b/,\n number: [/\\$\\\\?./, /\\d+#[a-z0-9]+/i, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i],\n function: /\\b[a-z][\\w@]*(?=\\()/,\n variable: {\n pattern: /(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,\n lookbehind: !0\n },\n operator: [/[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\\b/, {\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: !0\n }],\n atom: /\\b[a-z][\\w@]*/,\n punctuation: /[()[\\]{}:;,.#|]|<<|>>/\n};\nPrism.languages.fsharp = Prism.languages.extend(\"clike\", {\n comment: [{\n pattern: /(^|[^\\\\])\\(\\*[\\s\\S]*?\\*\\)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: {\n pattern: /(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")B?|'(?:[^\\\\']|\\\\.)'B?/,\n greedy: !0\n },\n \"class-name\": {\n pattern: /(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,\n lookbehind: !0,\n inside: {\n operator: /->|\\*/,\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:let|return|use|yield)(?:!\\B|\\b)|\\b(abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\\b/,\n number: [/\\b0x[\\da-fA-F]+(?:un|lf|LF)?\\b/, /\\b0b[01]+(?:y|uy)?\\b/, /(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[fm]|e[+-]?\\d+)?\\b/i, /\\b\\d+(?:[IlLsy]|u[lsy]?|UL)?\\b/],\n operator: /([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|<?\\|{1,3}>?|\\??(?:<=|>=|<>|[-+*/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/\n}), Prism.languages.insertBefore(\"fsharp\", \"keyword\", {\n preprocessor: {\n pattern: /^[^\\r\\n\\S]*#.*/m,\n alias: \"property\",\n inside: {\n directive: {\n pattern: /(\\s*#)\\b(?:else|endif|if|light|line|nowarn)\\b/,\n lookbehind: !0,\n alias: \"keyword\"\n }\n }\n }\n}), Prism.languages.insertBefore(\"fsharp\", \"punctuation\", {\n \"computation-expression\": {\n pattern: /[_a-z]\\w*(?=\\s*\\{)/i,\n alias: \"keyword\"\n }\n}), Prism.languages.insertBefore(\"fsharp\", \"string\", {\n annotation: {\n pattern: /\\[<.+?>\\]/,\n inside: {\n punctuation: /^\\[<|>\\]$/,\n \"class-name\": {\n pattern: /^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,\n lookbehind: !0\n },\n \"annotation-content\": {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.fsharp\n }\n }\n }\n});\n!function (a) {\n a.languages.flow = a.languages.extend(\"javascript\", {}), a.languages.insertBefore(\"flow\", \"keyword\", {\n type: [{\n pattern: /\\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\\b/,\n alias: \"tag\"\n }]\n }), a.languages.flow[\"function-variable\"].pattern = /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i, delete a.languages.flow.parameter, a.languages.insertBefore(\"flow\", \"operator\", {\n \"flow-punctuation\": {\n pattern: /\\{\\||\\|\\}/,\n alias: \"punctuation\"\n }\n }), Array.isArray(a.languages.flow.keyword) || (a.languages.flow.keyword = [a.languages.flow.keyword]), a.languages.flow.keyword.unshift({\n pattern: /(^|[^$]\\b)(?:type|opaque|declare|Class)\\b(?!\\$)/,\n lookbehind: !0\n }, {\n pattern: /(^|[^$]\\B)\\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\\b(?!\\$)/,\n lookbehind: !0\n });\n}(Prism);\nPrism.languages.git = {\n comment: /^#.*/m,\n deleted: /^[-].*/m,\n inserted: /^\\+.*/m,\n string: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,\n command: {\n pattern: /^.*\\$ git .*$/m,\n inside: {\n parameter: /\\s--?\\w+/m\n }\n },\n coord: /^@@.*@@$/m,\n commit_sha1: /^commit \\w{40}$/m\n};\nPrism.languages.go = Prism.languages.extend(\"clike\", {\n 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/,\n builtin: /\\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\\b/,\n boolean: /\\b(?:_|iota|nil|true|false)\\b/,\n operator: /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n number: /(?:\\b0x[a-f\\d]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[-+]?\\d+)?)i?/i,\n string: {\n pattern: /([\"'`])(\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: !0\n }\n}), delete Prism.languages.go[\"class-name\"];\nPrism.languages.graphql = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n boolean: /\\b(?:true|false)\\b/,\n variable: /\\$[a-z_]\\w*/i,\n directive: {\n pattern: /@[a-z_]\\w*/i,\n alias: \"function\"\n },\n \"attr-name\": {\n pattern: /[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i,\n greedy: !0\n },\n \"class-name\": {\n pattern: /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+)[a-zA-Z_]\\w*/,\n lookbehind: !0\n },\n fragment: {\n pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,\n lookbehind: !0,\n alias: \"function\"\n },\n keyword: /\\b(?:enum|fragment|implements|input|interface|mutation|on|query|scalar|schema|type|union)\\b/,\n operator: /[!=|]|\\.{3}/,\n punctuation: /[!(){}\\[\\]:=,]/,\n constant: /\\b(?!ID\\b)[A-Z][A-Z_\\d]*\\b/\n};\nPrism.languages.less = Prism.languages.extend(\"css\", {\n comment: [/\\/\\*[\\s\\S]*?\\*\\//, {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: !0\n }],\n atrule: {\n pattern: /@[\\w-]+?(?:\\([^{}]+\\)|[^(){};])*?(?=\\s*\\{)/i,\n inside: {\n punctuation: /[:()]/\n }\n },\n selector: {\n pattern: /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\([^{}]*\\)|[^{};@])*?(?=\\s*\\{)/,\n inside: {\n variable: /@+[\\w-]+/\n }\n },\n property: /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/i,\n operator: /[+\\-*\\/]/\n}), Prism.languages.insertBefore(\"less\", \"property\", {\n variable: [{\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n punctuation: /:/\n }\n }, /@@?[\\w-]+/],\n \"mixin-usage\": {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-]+.*?(?=[(;])/,\n lookbehind: !0,\n alias: \"function\"\n }\n});\n!function (e) {\n e.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/i,\n alias: \"punctuation\"\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n boolean: /\\b(?:true|false)\\b/,\n block: {\n pattern: /^(\\s*~?\\s*)[#\\/]\\S+?(?=\\s*~?\\s*$|\\s)/i,\n lookbehind: !0,\n alias: \"keyword\"\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/\n }\n },\n punctuation: /[!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n }, e.hooks.add(\"before-tokenize\", function (a) {\n e.languages[\"markup-templating\"].buildPlaceholders(a, \"handlebars\", /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g);\n }), e.hooks.add(\"after-tokenize\", function (a) {\n e.languages[\"markup-templating\"].tokenizePlaceholders(a, \"handlebars\");\n });\n}(Prism);\nPrism.languages.haskell = {\n comment: {\n pattern: /(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|{-[\\s\\S]*?-})/m,\n lookbehind: !0\n },\n char: /'(?:[^\\\\']|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\\d+|o[0-7]+|x[0-9a-fA-F]+))'/,\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|\\d+|o[0-7]+|x[0-9a-fA-F]+)|\\\\\\s+\\\\)*\"/,\n greedy: !0\n },\n keyword: /\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\n import_statement: {\n pattern: /((?:\\r?\\n|\\r|^)\\s*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][_a-zA-Z0-9']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: !0,\n inside: {\n keyword: /\\b(?:import|qualified|as|hiding)\\b/\n }\n },\n builtin: /\\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b/,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,\n operator: /\\s\\.\\s|[-!#$%*+=?&@|~.:<>^\\\\\\/]*\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+|[-!#$%*+=?&@|~.:<>^\\\\\\/]+\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]*|[-!#$%*+=?&@|~:<>^\\\\\\/]+|`([A-Z][\\w']*\\.)*[_a-z][\\w']*`/,\n hvariable: /\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*\\b/,\n constant: /\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*\\b/,\n punctuation: /[{}[\\];(),.:]/\n}, Prism.languages.hs = Prism.languages.haskell;\n!function (t) {\n t.languages.http = {\n \"request-line\": {\n pattern: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\s(?:https?:\\/\\/|\\/)\\S+\\sHTTP\\/[0-9.]+/m,\n inside: {\n property: /^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\\b/,\n \"attr-name\": /:\\w+/\n }\n },\n \"response-status\": {\n pattern: /^HTTP\\/1.[01] \\d+.*/m,\n inside: {\n property: {\n pattern: /(^HTTP\\/1.[01] )\\d+.*/i,\n lookbehind: !0\n }\n }\n },\n \"header-name\": {\n pattern: /^[\\w-]+:(?=.)/m,\n alias: \"keyword\"\n }\n };\n var a,\n e,\n n,\n i = t.languages,\n s = {\n \"application/javascript\": i.javascript,\n \"application/json\": i.json || i.javascript,\n \"application/xml\": i.xml,\n \"text/xml\": i.xml,\n \"text/html\": i.html,\n \"text/css\": i.css\n },\n p = {\n \"application/json\": !0,\n \"application/xml\": !0\n };\n\n for (var r in s) {\n if (s[r]) {\n a = a || {};\n var T = p[r] ? (void 0, n = (e = r).replace(/^[a-z]+\\//, \"\"), \"(?:\" + e + \"|\\\\w+/(?:[\\\\w.-]+\\\\+)+\" + n + \"(?![+\\\\w.-]))\") : r;\n a[r] = {\n pattern: RegExp(\"(content-type:\\\\s*\" + T + \"[\\\\s\\\\S]*?)(?:\\\\r?\\\\n|\\\\r){2}[\\\\s\\\\S]*\", \"i\"),\n lookbehind: !0,\n inside: {\n rest: s[r]\n }\n };\n }\n }\n\n a && t.languages.insertBefore(\"http\", \"header-name\", a);\n}(Prism);\n!function (e) {\n var t = /\\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\\b/,\n a = /\\b[A-Z](?:\\w*[a-z]\\w*)?\\b/;\n e.languages.java = e.languages.extend(\"clike\", {\n \"class-name\": [a, /\\b[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])/],\n keyword: t,\n function: [e.languages.clike.function, {\n pattern: /(\\:\\:)[a-z_]\\w*/,\n lookbehind: !0\n }],\n number: /\\b0b[01][01_]*L?\\b|\\b0x[\\da-f_]*\\.?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*\\.?[\\d_]*|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern: /(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\\2|[?:~]|[-+*/%&|^!=<>]=?)/m,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"java\", \"class-name\", {\n annotation: {\n alias: \"punctuation\",\n pattern: /(^|[^.])@\\w+/,\n lookbehind: !0\n },\n namespace: {\n pattern: /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)[a-z]\\w*(\\.[a-z]\\w*)+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\./\n }\n },\n generics: {\n pattern: /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n \"class-name\": a,\n keyword: t,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n });\n}(Prism);\n!function (n) {\n n.languages.php = n.languages.extend(\"clike\", {\n keyword: /\\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\\b/i,\n boolean: {\n pattern: /\\b(?:false|true)\\b/i,\n alias: \"constant\"\n },\n constant: [/\\b[A-Z_][A-Z0-9_]*\\b/, /\\b(?:null)\\b/i],\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n }\n }), n.languages.insertBefore(\"php\", \"string\", {\n \"shell-comment\": {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0,\n alias: \"comment\"\n }\n }), n.languages.insertBefore(\"php\", \"comment\", {\n delimiter: {\n pattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n alias: \"important\"\n }\n }), n.languages.insertBefore(\"php\", \"keyword\", {\n variable: /\\$+(?:\\w+\\b|(?={))/i,\n package: {\n pattern: /(\\\\|namespace\\s+|use\\s+)[\\w\\\\]+/,\n lookbehind: !0,\n inside: {\n punctuation: /\\\\/\n }\n }\n }), n.languages.insertBefore(\"php\", \"operator\", {\n property: {\n pattern: /(->)[\\w]+/,\n lookbehind: !0\n }\n });\n var e = {\n pattern: /{\\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[.+?]|->\\w+)*)/,\n lookbehind: !0,\n inside: {\n rest: n.languages.php\n }\n };\n n.languages.insertBefore(\"php\", \"string\", {\n \"nowdoc-string\": {\n pattern: /<<<'([^']+)'(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;/,\n greedy: !0,\n alias: \"string\",\n inside: {\n delimiter: {\n pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n alias: \"symbol\",\n inside: {\n punctuation: /^<<<'?|[';]$/\n }\n }\n }\n },\n \"heredoc-string\": {\n pattern: /<<<(?:\"([^\"]+)\"(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\1;|([a-z_]\\w*)(?:\\r\\n?|\\n)(?:.*(?:\\r\\n?|\\n))*?\\2;)/i,\n greedy: !0,\n alias: \"string\",\n inside: {\n delimiter: {\n pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: \"symbol\",\n inside: {\n punctuation: /^<<<\"?|[\";]$/\n }\n },\n interpolation: e\n }\n },\n \"single-quoted-string\": {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: !0,\n alias: \"string\"\n },\n \"double-quoted-string\": {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: !0,\n alias: \"string\",\n inside: {\n interpolation: e\n }\n }\n }), delete n.languages.php.string, n.hooks.add(\"before-tokenize\", function (e) {\n if (/<\\?/.test(e.code)) {\n n.languages[\"markup-templating\"].buildPlaceholders(e, \"php\", /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#)(?:[^?\\n\\r]|\\?(?!>))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$))*?(?:\\?>|$)/gi);\n }\n }), n.hooks.add(\"after-tokenize\", function (e) {\n n.languages[\"markup-templating\"].tokenizePlaceholders(e, \"php\");\n });\n}(Prism);\nPrism.languages.json = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n property: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n greedy: !0\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n greedy: !0\n },\n number: /-?\\d+\\.?\\d*(e[+-]?\\d+)?/i,\n punctuation: /[{}[\\],]/,\n operator: /:/,\n boolean: /\\b(?:true|false)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: \"keyword\"\n }\n};\n!function (e) {\n e.languages.kotlin = e.languages.extend(\"clike\", {\n keyword: {\n 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/,\n lookbehind: !0\n },\n function: [/\\w+(?=\\s*\\()/, {\n pattern: /(\\.)\\w+(?=\\s*\\{)/,\n lookbehind: !0\n }],\n number: /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n operator: /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n }), delete e.languages.kotlin[\"class-name\"], e.languages.insertBefore(\"kotlin\", \"string\", {\n \"raw-string\": {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n alias: \"string\"\n }\n }), e.languages.insertBefore(\"kotlin\", \"keyword\", {\n annotation: {\n pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n alias: \"builtin\"\n }\n }), e.languages.insertBefore(\"kotlin\", \"function\", {\n label: {\n pattern: /\\w+@|@\\w+/,\n alias: \"symbol\"\n }\n });\n var n = [{\n pattern: /\\$\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^\\$\\{|\\}$/,\n alias: \"variable\"\n },\n rest: e.languages.kotlin\n }\n }, {\n pattern: /\\$\\w+/,\n alias: \"variable\"\n }];\n e.languages.kotlin.string.inside = e.languages.kotlin[\"raw-string\"].inside = {\n interpolation: n\n };\n}(Prism);\n!function (a) {\n var e = /\\\\(?:[^a-z()[\\]]|[a-z*]+)/i,\n n = {\n \"equation-command\": {\n pattern: e,\n alias: \"regex\"\n }\n };\n Prism.languages.latex = {\n comment: /%.*/m,\n cdata: {\n pattern: /(\\\\begin\\{((?:verbatim|lstlisting)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0\n },\n equation: [{\n pattern: /\\$(?:\\\\[\\s\\S]|[^\\\\$])*\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,\n inside: n,\n alias: \"string\"\n }, {\n pattern: /(\\\\begin\\{((?:equation|math|eqnarray|align|multline|gather)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: !0,\n inside: n,\n alias: \"string\"\n }],\n keyword: {\n pattern: /(\\\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\\\url\\{)[^}]+(?=\\})/,\n lookbehind: !0\n },\n headline: {\n pattern: /(\\\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\}(?:\\[[^\\]]+\\])?)/,\n lookbehind: !0,\n alias: \"class-name\"\n },\n function: {\n pattern: e,\n alias: \"selector\"\n },\n punctuation: /[[\\]{}&]/\n };\n}();\nPrism.languages.markdown = Prism.languages.extend(\"markup\", {}), Prism.languages.insertBefore(\"markdown\", \"prolog\", {\n blockquote: {\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: \"punctuation\"\n },\n code: [{\n pattern: /^(?: {4}|\\t).+/m,\n alias: \"keyword\"\n }, {\n pattern: /``.+?``|`[^`\\n]+`/,\n alias: \"keyword\"\n }, {\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: !0,\n inside: {\n \"code-block\": {\n pattern: /^(```.*(?:\\r?\\n|\\r))[\\s\\S]+?(?=(?:\\r?\\n|\\r)^```$)/m,\n lookbehind: !0\n },\n \"code-language\": {\n pattern: /^(```).+/,\n lookbehind: !0\n },\n punctuation: /```/\n }\n }],\n title: [{\n pattern: /\\S.*(?:\\r?\\n|\\r)(?:==+|--+)/,\n alias: \"important\",\n inside: {\n punctuation: /==+$|--+$/\n }\n }, {\n pattern: /(^\\s*)#+.+/m,\n lookbehind: !0,\n alias: \"important\",\n inside: {\n punctuation: /^#+|#+$/\n }\n }],\n hr: {\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: !0,\n alias: \"punctuation\"\n },\n list: {\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: !0,\n alias: \"punctuation\"\n },\n \"url-reference\": {\n pattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n variable: {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: !0\n },\n string: /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n punctuation: /^[\\[\\]!:]|[<>]/\n },\n alias: \"url\"\n },\n bold: {\n pattern: /(^|[^\\\\])(\\*\\*|__)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^\\*\\*|^__|\\*\\*$|__$/\n }\n },\n italic: {\n pattern: /(^|[^\\\\])([*_])(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^[*_]|[*_]$/\n }\n },\n strike: {\n pattern: /(^|[^\\\\])(~~?)(?:(?:\\r?\\n|\\r)(?!\\r?\\n|\\r)|.)+?\\2/,\n lookbehind: !0,\n greedy: !0,\n inside: {\n punctuation: /^~~?|~~?$/\n }\n },\n url: {\n pattern: /!?\\[[^\\]]+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)| ?\\[[^\\]\\n]*\\])/,\n inside: {\n variable: {\n pattern: /(!?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: !0\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/\n }\n }\n }\n}), [\"bold\", \"italic\", \"strike\"].forEach(function (a) {\n [\"url\", \"bold\", \"italic\", \"strike\"].forEach(function (n) {\n a !== n && (Prism.languages.markdown[a].inside[n] = Prism.languages.markdown[n]);\n });\n}), Prism.hooks.add(\"after-tokenize\", function (n) {\n \"markdown\" !== n.language && \"md\" !== n.language || function n(a) {\n if (a && \"string\" != typeof a) for (var t = 0, e = a.length; t < e; t++) {\n var r = a[t];\n\n if (\"code\" === r.type) {\n var i = r.content[1],\n o = r.content[3];\n\n if (i && o && \"code-language\" === i.type && \"code-block\" === o.type && \"string\" == typeof i.content) {\n var s = \"language-\" + i.content.trim().split(/\\s+/)[0].toLowerCase();\n o.alias ? \"string\" == typeof o.alias ? o.alias = [o.alias, s] : o.alias.push(s) : o.alias = [s];\n }\n } else n(r.content);\n }\n }(n.tokens);\n}), Prism.hooks.add(\"wrap\", function (n) {\n if (\"code-block\" === n.type) {\n for (var a = \"\", t = 0, e = n.classes.length; t < e; t++) {\n var r = n.classes[t],\n i = /language-(.+)/.exec(r);\n\n if (i) {\n a = i[1];\n break;\n }\n }\n\n var o = Prism.languages[a];\n\n if (o) {\n var s = n.content.replace(/&lt;/g, \"<\").replace(/&amp;/g, \"&\");\n n.content = Prism.highlight(s, o, a);\n }\n }\n}), Prism.languages.md = Prism.languages.markdown;\nPrism.languages.makefile = {\n comment: {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: !0\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n builtin: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n symbol: {\n pattern: /^[^:=\\r\\n]+(?=\\s*:(?!=))/m,\n inside: {\n variable: /\\$+(?:[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n variable: /\\$+(?:[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n keyword: [/-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/, {\n pattern: /(\\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \\t])/,\n lookbehind: !0\n }],\n operator: /(?:::|[?:+!])?=|[|@]/,\n punctuation: /[:;(){}]/\n};\n!function (e) {\n e.languages.django = {\n comment: /^{#[\\s\\S]*?#}$/,\n tag: {\n pattern: /(^{%[+-]?\\s*)\\w+/,\n lookbehind: !0,\n alias: \"keyword\"\n },\n delimiter: {\n pattern: /^{[{%][+-]?|[+-]?[}%]}$/,\n alias: \"punctuation\"\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n filter: {\n pattern: /(\\|)\\w+/,\n lookbehind: !0,\n alias: \"function\"\n },\n test: {\n pattern: /(\\bis\\s+(?:not\\s+)?)(?!not\\b)\\w+/,\n lookbehind: !0,\n alias: \"function\"\n },\n function: /\\b[a-z_]\\w+(?=\\s*\\()/i,\n keyword: /\\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\\b/,\n operator: /[-+*/%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n boolean: /[Tt]rue|[Ff]alse|[Nn]one/,\n variable: /\\b\\w+?\\b/,\n punctuation: /[{}[\\](),.:;]/\n };\n var n = /{{[\\s\\S]*?}}|{%[\\s\\S]*?%}|{#[\\s\\S]*?#}/g,\n o = e.languages[\"markup-templating\"];\n e.hooks.add(\"before-tokenize\", function (e) {\n o.buildPlaceholders(e, \"django\", n);\n }), e.hooks.add(\"after-tokenize\", function (e) {\n o.tokenizePlaceholders(e, \"django\");\n }), e.languages.jinja2 = e.languages.django, e.hooks.add(\"before-tokenize\", function (e) {\n o.buildPlaceholders(e, \"jinja2\", n);\n }), e.hooks.add(\"after-tokenize\", function (e) {\n o.tokenizePlaceholders(e, \"jinja2\");\n });\n}(Prism);\nPrism.languages.typescript = Prism.languages.extend(\"javascript\", {\n keyword: /\\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\\b/,\n builtin: /\\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\\b/\n}), Prism.languages.ts = Prism.languages.typescript;\nPrism.languages.objectivec = Prism.languages.extend(\"c\", {\n keyword: /\\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n string: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|@\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n}), delete Prism.languages.objectivec[\"class-name\"];\nPrism.languages.ocaml = {\n comment: /\\(\\*[\\s\\S]*?\\*\\)/,\n string: [{\n pattern: /\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n }, {\n pattern: /(['`])(?:\\\\(?:\\d+|x[\\da-f]+|.)|(?!\\1)[^\\\\\\r\\n])\\1/i,\n greedy: !0\n }],\n number: /\\b(?:0x[\\da-f][\\da-f_]+|(?:0[bo])?\\d[\\d_]*\\.?[\\d_]*(?:e[+-]?[\\d_]+)?)/i,\n type: {\n pattern: /\\B['`]\\w*/,\n alias: \"variable\"\n },\n directive: {\n pattern: /\\B#\\w+/,\n alias: \"function\"\n },\n keyword: /\\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|prefix|private|rec|then|sig|struct|to|try|type|val|value|virtual|where|while|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator: /:=|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lxor|lsl|lsr|mod|nor|or)\\b/,\n punctuation: /[(){}\\[\\]|_.,:;]/\n};\nPrism.languages.perl = {\n comment: [{\n pattern: /(^\\s*)=\\w+[\\s\\S]*?=cut.*/m,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /\\b(?:q|qq|qx|qw)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n greedy: !0\n }, {\n pattern: /\\b(?:q|qq|qx|qw)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n greedy: !0\n }, {\n pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: !0\n }, {\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: !0\n }],\n regex: [{\n pattern: /\\b(?:m|qr)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /\\b(?:m|qr)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngc]*/,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s+([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngcer]*/,\n lookbehind: !0,\n greedy: !0\n }, {\n pattern: /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\\b))/,\n greedy: !0\n }],\n variable: [/[&*$@%]\\{\\^[A-Z]+\\}/, /[&*$@%]\\^[A-Z_]/, /[&*$@%]#?(?=\\{)/, /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+)+(?:::)*/i, /[&*$@%]\\d+/, /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/],\n filehandle: {\n pattern: /<(?![<=])\\S*>|\\b_\\b/,\n alias: \"symbol\"\n },\n vstring: {\n pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n alias: \"string\"\n },\n function: {\n pattern: /sub [a-z0-9_]+/i,\n inside: {\n keyword: /sub/\n }\n },\n keyword: /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n operator: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\\b/,\n punctuation: /[{}[\\];(),:]/\n};\nPrism.languages.insertBefore(\"php\", \"variable\", {\n this: /\\$this\\b/,\n global: /\\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\\b/,\n scope: {\n pattern: /\\b[\\w\\\\]+::/,\n inside: {\n keyword: /static|self|parent/,\n punctuation: /::|\\\\/\n }\n }\n});\nPrism.languages.sql = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: !0\n },\n variable: [{\n pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: !0\n }, /@[\\w.$]+/],\n string: {\n pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: !0,\n lookbehind: !0\n },\n function: /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n 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(?:_INSERT|COL)?|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|RETURNS?|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,\n boolean: /\\b(?:TRUE|FALSE|NULL)\\b/i,\n number: /\\b0x[\\da-f]+\\b|\\b\\d+\\.?\\d*|\\B\\.\\d+\\b/i,\n operator: /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n punctuation: /[;[\\]()`,.]/\n};\nPrism.languages.processing = Prism.languages.extend(\"clike\", {\n keyword: /\\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\\b/,\n operator: /<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/\n}), Prism.languages.insertBefore(\"processing\", \"number\", {\n constant: /\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,\n type: {\n pattern: /\\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z]\\w*)\\b/,\n alias: \"variable\"\n }\n}), Prism.languages.processing.function.pattern = /\\w+(?=\\s*\\()/, Prism.languages.processing[\"class-name\"].alias = \"variable\";\nPrism.languages.scss = Prism.languages.extend(\"css\", {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n atrule: {\n pattern: /@[\\w-]+(?:\\([^()]+\\)|[^(])*?(?=\\s+[{;])/,\n inside: {\n rule: /@[\\w-]+/\n }\n },\n url: /(?:[-a-z]+-)*url(?=\\()/i,\n selector: {\n pattern: /(?=\\S)[^@;{}()]?(?:[^@;{}()]|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}]+[:{][^}]+))/m,\n inside: {\n parent: {\n pattern: /&/,\n alias: \"important\"\n },\n placeholder: /%[-\\w]+/,\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n property: {\n pattern: /(?:[\\w-]|\\$[-\\w]+|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n}), Prism.languages.insertBefore(\"scss\", \"atrule\", {\n keyword: [/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, {\n pattern: /( +)(?:from|through)(?= )/,\n lookbehind: !0\n }]\n}), Prism.languages.insertBefore(\"scss\", \"important\", {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n}), Prism.languages.insertBefore(\"scss\", \"function\", {\n placeholder: {\n pattern: /%[-\\w]+/,\n alias: \"selector\"\n },\n statement: {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: \"keyword\"\n },\n boolean: /\\b(?:true|false)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: \"keyword\"\n },\n operator: {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|or|not)(?=\\s)/,\n lookbehind: !0\n }\n}), Prism.languages.scss.atrule.inside.rest = Prism.languages.scss;\nPrism.languages.python = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: !0\n },\n \"string-interpolation\": {\n pattern: /(?:f|rf|fr)(?:(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,\n lookbehind: !0,\n inside: {\n \"format-spec\": {\n pattern: /(:)[^:(){}]+(?=}$)/,\n lookbehind: !0\n },\n \"conversion-option\": {\n pattern: /![sra](?=[:}]$)/,\n alias: \"punctuation\"\n },\n rest: null\n }\n },\n string: /[\\s\\S]+/\n }\n },\n \"triple-quoted-string\": {\n pattern: /(?:[rub]|rb|br)?(\"\"\"|''')[\\s\\S]+?\\1/i,\n greedy: !0,\n alias: \"string\"\n },\n string: {\n pattern: /(?:[rub]|rb|br)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: !0\n },\n function: {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: !0\n },\n \"class-name\": {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: !0\n },\n decorator: {\n pattern: /(^\\s*)@\\w+(?:\\.\\w+)*/i,\n lookbehind: !0,\n alias: [\"annotation\", \"punctuation\"],\n inside: {\n punctuation: /\\./\n }\n },\n keyword: /\\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n 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/,\n boolean: /\\b(?:True|False|None)\\b/,\n number: /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n operator: /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n}, Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python;\nPrism.languages.r = {\n comment: /#.*/,\n string: {\n pattern: /(['\"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0\n },\n \"percent-operator\": {\n pattern: /%[^%\\s]*%/,\n alias: \"operator\"\n },\n boolean: /\\b(?:TRUE|FALSE)\\b/,\n ellipsis: /\\.\\.(?:\\.|\\d+)/,\n number: [/\\b(?:NaN|Inf)\\b/, /(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/],\n keyword: /\\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\\b/,\n operator: /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,\n punctuation: /[(){}\\[\\],;]/\n};\n!function (i) {\n var t = i.util.clone(i.languages.javascript);\n i.languages.jsx = i.languages.extend(\"markup\", t), i.languages.jsx.tag.pattern = /<\\/?(?:[\\w.:-]+\\s*(?:\\s+(?:[\\w.:-]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s{'\">=]+|\\{(?:\\{(?:\\{[^}]*\\}|[^{}])*\\}|[^{}])+\\}))?|\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}))*\\s*\\/?)?>/i, i.languages.jsx.tag.inside.tag.pattern = /^<\\/?[^\\s>\\/]*/i, i.languages.jsx.tag.inside[\"attr-value\"].pattern = /=(?!\\{)(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">]+)/i, i.languages.jsx.tag.inside.tag.inside[\"class-name\"] = /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/, i.languages.insertBefore(\"inside\", \"attr-name\", {\n spread: {\n pattern: /\\{\\.{3}[a-z_$][\\w$]*(?:\\.[a-z_$][\\w$]*)*\\}/,\n inside: {\n punctuation: /\\.{3}|[{}.]/,\n \"attr-value\": /\\w+/\n }\n }\n }, i.languages.jsx.tag), i.languages.insertBefore(\"inside\", \"attr-value\", {\n script: {\n pattern: /=(\\{(?:\\{(?:\\{[^}]*\\}|[^}])*\\}|[^}])+\\})/i,\n inside: {\n \"script-punctuation\": {\n pattern: /^=(?={)/,\n alias: \"punctuation\"\n },\n rest: i.languages.jsx\n },\n alias: \"language-javascript\"\n }\n }, i.languages.jsx.tag);\n\n var o = function o(t) {\n return t ? \"string\" == typeof t ? t : \"string\" == typeof t.content ? t.content : t.content.map(o).join(\"\") : \"\";\n },\n p = function p(t) {\n for (var n = [], e = 0; e < t.length; e++) {\n var a = t[e],\n s = !1;\n\n if (\"string\" != typeof a && (\"tag\" === a.type && a.content[0] && \"tag\" === a.content[0].type ? \"</\" === a.content[0].content[0].content ? 0 < n.length && n[n.length - 1].tagName === o(a.content[0].content[1]) && n.pop() : \"/>\" === a.content[a.content.length - 1].content || n.push({\n tagName: o(a.content[0].content[1]),\n openedBraces: 0\n }) : 0 < n.length && \"punctuation\" === a.type && \"{\" === a.content ? n[n.length - 1].openedBraces++ : 0 < n.length && 0 < n[n.length - 1].openedBraces && \"punctuation\" === a.type && \"}\" === a.content ? n[n.length - 1].openedBraces-- : s = !0), (s || \"string\" == typeof a) && 0 < n.length && 0 === n[n.length - 1].openedBraces) {\n var g = o(a);\n e < t.length - 1 && (\"string\" == typeof t[e + 1] || \"plain-text\" === t[e + 1].type) && (g += o(t[e + 1]), t.splice(e + 1, 1)), 0 < e && (\"string\" == typeof t[e - 1] || \"plain-text\" === t[e - 1].type) && (g = o(t[e - 1]) + g, t.splice(e - 1, 1), e--), t[e] = new i.Token(\"plain-text\", g, null, g);\n }\n\n a.content && \"string\" != typeof a.content && p(a.content);\n }\n };\n\n i.hooks.add(\"after-tokenize\", function (t) {\n \"jsx\" !== t.language && \"tsx\" !== t.language || p(t.tokens);\n });\n}(Prism);\nPrism.languages.reason = Prism.languages.extend(\"clike\", {\n comment: {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n },\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n },\n \"class-name\": /\\b[A-Z]\\w*/,\n 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/,\n operator: /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:mod|land|lor|lxor|lsl|lsr|asr)\\b/\n}), Prism.languages.insertBefore(\"reason\", \"class-name\", {\n character: {\n pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,\n alias: \"string\"\n },\n constructor: {\n pattern: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n alias: \"variable\"\n },\n label: {\n pattern: /\\b[a-z]\\w*(?=::)/,\n alias: \"symbol\"\n }\n}), delete Prism.languages.reason.function;\n!function (e) {\n var n = \"(?:\\\\([^|)]+\\\\)|\\\\[[^\\\\]]+\\\\]|\\\\{[^}]+\\\\})+\",\n i = {\n css: {\n pattern: /\\{[^}]+\\}/,\n inside: {\n rest: e.languages.css\n }\n },\n \"class-id\": {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0,\n alias: \"attr-value\"\n },\n lang: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0,\n alias: \"attr-value\"\n },\n punctuation: /[\\\\\\/]\\d+|\\S/\n },\n t = e.languages.textile = e.languages.extend(\"markup\", {\n phrase: {\n pattern: /(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,\n lookbehind: !0,\n inside: {\n \"block-tag\": {\n pattern: RegExp(\"^[a-z]\\\\w*(?:\" + n + \"|[<>=()])*\\\\.\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^[a-z]\\\\w*)(?:\" + n + \"|[<>=()])+(?=\\\\.)\"),\n lookbehind: !0,\n inside: i\n },\n tag: /^[a-z]\\w*/,\n punctuation: /\\.$/\n }\n },\n list: {\n pattern: RegExp(\"^[*#]+(?:\" + n + \")?\\\\s+.+\", \"m\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^[*#]+)\" + n),\n lookbehind: !0,\n inside: i\n },\n punctuation: /^[*#]+/\n }\n },\n table: {\n pattern: RegExp(\"^(?:(?:\" + n + \"|[<>=()^~])+\\\\.\\\\s*)?(?:\\\\|(?:(?:\" + n + \"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+\\\\.)?[^|]*)+\\\\|\", \"m\"),\n inside: {\n modifier: {\n pattern: RegExp(\"(^|\\\\|(?:\\\\r?\\\\n|\\\\r)?)(?:\" + n + \"|[<>=()^~_]|[\\\\\\\\/]\\\\d+)+(?=\\\\.)\"),\n lookbehind: !0,\n inside: i\n },\n punctuation: /\\||^\\./\n }\n },\n inline: {\n pattern: RegExp(\"(\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])(?:\" + n + \")?.+?\\\\1\"),\n inside: {\n bold: {\n pattern: RegExp(\"(^(\\\\*\\\\*?)(?:\" + n + \")?).+?(?=\\\\2)\"),\n lookbehind: !0\n },\n italic: {\n pattern: RegExp(\"(^(__?)(?:\" + n + \")?).+?(?=\\\\2)\"),\n lookbehind: !0\n },\n cite: {\n pattern: RegExp(\"(^\\\\?\\\\?(?:\" + n + \")?).+?(?=\\\\?\\\\?)\"),\n lookbehind: !0,\n alias: \"string\"\n },\n code: {\n pattern: RegExp(\"(^@(?:\" + n + \")?).+?(?=@)\"),\n lookbehind: !0,\n alias: \"keyword\"\n },\n inserted: {\n pattern: RegExp(\"(^\\\\+(?:\" + n + \")?).+?(?=\\\\+)\"),\n lookbehind: !0\n },\n deleted: {\n pattern: RegExp(\"(^-(?:\" + n + \")?).+?(?=-)\"),\n lookbehind: !0\n },\n span: {\n pattern: RegExp(\"(^%(?:\" + n + \")?).+?(?=%)\"),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp(\"(^\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])\" + n),\n lookbehind: !0,\n inside: i\n },\n punctuation: /[*_%?@+\\-^~]+/\n }\n },\n \"link-ref\": {\n pattern: /^\\[[^\\]]+\\]\\S+$/m,\n inside: {\n string: {\n pattern: /(\\[)[^\\]]+(?=\\])/,\n lookbehind: !0\n },\n url: {\n pattern: /(\\])\\S+$/,\n lookbehind: !0\n },\n punctuation: /[\\[\\]]/\n }\n },\n link: {\n pattern: RegExp('\"(?:' + n + ')?[^\"]+\":.+?(?=[^\\\\w/]?(?:\\\\s|$))'),\n inside: {\n text: {\n pattern: RegExp('(^\"(?:' + n + ')?)[^\"]+(?=\")'),\n lookbehind: !0\n },\n modifier: {\n pattern: RegExp('(^\")' + n),\n lookbehind: !0,\n inside: i\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[\":]/\n }\n },\n image: {\n pattern: RegExp(\"!(?:\" + n + \"|[<>=()])*[^!\\\\s()]+(?:\\\\([^)]+\\\\))?!(?::.+?(?=[^\\\\w/]?(?:\\\\s|$)))?\"),\n inside: {\n source: {\n pattern: RegExp(\"(^!(?:\" + n + \"|[<>=()])*)[^!\\\\s()]+(?:\\\\([^)]+\\\\))?(?=!)\"),\n lookbehind: !0,\n alias: \"url\"\n },\n modifier: {\n pattern: RegExp(\"(^!)(?:\" + n + \"|[<>=()])+\"),\n lookbehind: !0,\n inside: i\n },\n url: {\n pattern: /(:).+/,\n lookbehind: !0\n },\n punctuation: /[!:]/\n }\n },\n footnote: {\n pattern: /\\b\\[\\d+\\]/,\n alias: \"comment\",\n inside: {\n punctuation: /\\[|\\]/\n }\n },\n acronym: {\n pattern: /\\b[A-Z\\d]+\\([^)]+\\)/,\n inside: {\n comment: {\n pattern: /(\\()[^)]+(?=\\))/,\n lookbehind: !0\n },\n punctuation: /[()]/\n }\n },\n mark: {\n pattern: /\\b\\((?:TM|R|C)\\)/,\n alias: \"comment\",\n inside: {\n punctuation: /[()]/\n }\n }\n }\n }\n }),\n a = t.phrase.inside,\n o = {\n inline: a.inline,\n link: a.link,\n image: a.image,\n footnote: a.footnote,\n acronym: a.acronym,\n mark: a.mark\n };\n t.tag.pattern = /<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i;\n var r = a.inline.inside;\n r.bold.inside = o, r.italic.inside = o, r.inserted.inside = o, r.deleted.inside = o, r.span.inside = o;\n var d = a.table.inside;\n d.inline = o.inline, d.link = o.link, d.image = o.image, d.footnote = o.footnote, d.acronym = o.acronym, d.mark = o.mark;\n}(Prism);\nPrism.languages.rust = {\n comment: [{\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: !0\n }, {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: !0\n }],\n string: [{\n pattern: /b?r(#*)\"(?:\\\\.|(?!\"\\1)[^\\\\\\r\\n])*\"\\1/,\n greedy: !0\n }, {\n pattern: /b?\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: !0\n }],\n char: {\n pattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u{(?:[\\da-fA-F]_*){1,6}|.)|[^\\\\\\r\\n\\t'])'/,\n alias: \"string\"\n },\n \"lifetime-annotation\": {\n pattern: /'[^\\s>']+/,\n alias: \"symbol\"\n },\n keyword: /\\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n attribute: {\n pattern: /#!?\\[.+?\\]/,\n greedy: !0,\n alias: \"attr-name\"\n },\n function: [/\\w+(?=\\s*\\()/, /\\w+!(?=\\s*\\(|\\[)/],\n \"macro-rules\": {\n pattern: /\\w+!/,\n alias: \"function\"\n },\n number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\\b/,\n \"closure-params\": {\n pattern: /\\|[^|]*\\|(?=\\s*[{-])/,\n inside: {\n punctuation: /[|:,]/,\n operator: /[&*]/\n }\n },\n punctuation: /[{}[\\];(),:]|\\.+|->/,\n operator: /[-+*\\/%!^]=?|=[=>]?|@|&[&=]?|\\|[|=]?|<<?=?|>>?=?/\n};\n!function (e) {\n e.languages.sass = e.languages.extend(\"css\", {\n comment: {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t]+.+)*/m,\n lookbehind: !0\n }\n }), e.languages.insertBefore(\"sass\", \"atrule\", {\n \"atrule-line\": {\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n inside: {\n atrule: /(?:@[\\w-]+|[+=])/m\n }\n }\n }), delete e.languages.sass.atrule;\n var t = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/,\n a = [/[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|or|not)\\b/, {\n pattern: /(\\s+)-(?=\\s)/,\n lookbehind: !0\n }];\n e.languages.insertBefore(\"sass\", \"property\", {\n \"variable-line\": {\n pattern: /^[ \\t]*\\$.+/m,\n inside: {\n punctuation: /:/,\n variable: t,\n operator: a\n }\n },\n \"property-line\": {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s]+.*)/m,\n inside: {\n property: [/[^:\\s]+(?=\\s*:)/, {\n pattern: /(:)[^:\\s]+/,\n lookbehind: !0\n }],\n punctuation: /:/,\n variable: t,\n operator: a,\n important: e.languages.sass.important\n }\n }\n }), delete e.languages.sass.property, delete e.languages.sass.important, e.languages.insertBefore(\"sass\", \"punctuation\", {\n selector: {\n pattern: /([ \\t]*)\\S(?:,?[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,?[^,\\r\\n]+)*)*/,\n lookbehind: !0\n }\n });\n}(Prism);\n!function (n) {\n var t = {\n url: /url\\(([\"']?).*?\\1\\)/i,\n string: {\n pattern: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: !0\n },\n interpolation: null,\n func: null,\n important: /\\B!(?:important|optional)\\b/i,\n keyword: {\n pattern: /(^|\\s+)(?:(?:if|else|for|return|unless)(?=\\s+|$)|@[\\w-]+)/,\n lookbehind: !0\n },\n hexcode: /#[\\da-f]{3,6}/i,\n number: /\\b\\d+(?:\\.\\d+)?%?/,\n boolean: /\\b(?:true|false)\\b/,\n operator: [/~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.+|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/],\n punctuation: /[{}()\\[\\];:,]/\n };\n t.interpolation = {\n pattern: /\\{[^\\r\\n}:]+\\}/,\n alias: \"variable\",\n inside: {\n delimiter: {\n pattern: /^{|}$/,\n alias: \"punctuation\"\n },\n rest: t\n }\n }, t.func = {\n pattern: /[\\w-]+\\([^)]*\\).*/,\n inside: {\n function: /^[^(]+/,\n rest: t\n }\n }, n.languages.stylus = {\n comment: {\n pattern: /(^|[^\\\\])(\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: !0\n },\n \"atrule-declaration\": {\n pattern: /(^\\s*)@.+/m,\n lookbehind: !0,\n inside: {\n atrule: /^@[\\w-]+/,\n rest: t\n }\n },\n \"variable-declaration\": {\n pattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:(?:\\{[^}]*\\}|.+)|$)/m,\n lookbehind: !0,\n inside: {\n variable: /^\\S+/,\n rest: t\n }\n },\n statement: {\n pattern: /(^[ \\t]*)(?:if|else|for|return|unless)[ \\t]+.+/m,\n lookbehind: !0,\n inside: {\n keyword: /^\\S+/,\n rest: t\n }\n },\n \"property-declaration\": {\n pattern: /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)[^{\\r\\n]*(?:;|[^{\\r\\n,](?=$)(?!(\\r?\\n|\\r)(?:\\{|\\2[ \\t]+)))/m,\n lookbehind: !0,\n inside: {\n property: {\n pattern: /^[^\\s:]+/,\n inside: {\n interpolation: t.interpolation\n }\n },\n rest: t\n }\n },\n selector: {\n pattern: /(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\))?|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\))?|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t]+)))/m,\n lookbehind: !0,\n inside: {\n interpolation: t.interpolation,\n punctuation: /[{},]/\n }\n },\n func: t.func,\n string: t.string,\n interpolation: t.interpolation,\n punctuation: /[{}()\\[\\];:.]/\n };\n}(Prism);\nPrism.languages.scheme = {\n comment: /;.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'[^()#'\\s]+/,\n greedy: !0\n },\n character: {\n pattern: /#\\\\(?:u[a-fA-F\\d]{4}|[a-zA-Z]+|\\S)/,\n alias: \"string\"\n },\n keyword: {\n pattern: /(\\()(?:define(?:-syntax|-library|-values)?|(?:case-)?lambda|let(?:\\*|rec)?(?:-values)?|else|if|cond|begin|delay(?:-force)?|parameterize|guard|set!|(?:quasi-)?quote|syntax-rules)(?=[()\\s])/,\n lookbehind: !0\n },\n builtin: {\n pattern: /(\\()(?:(?:cons|car|cdr|list|call-with-current-continuation|call\\/cc|append|abs|apply|eval)\\b|null\\?|pair\\?|boolean\\?|eof-object\\?|char\\?|procedure\\?|number\\?|port\\?|string\\?|vector\\?|symbol\\?|bytevector\\?)(?=[()\\s])/,\n lookbehind: !0\n },\n number: {\n pattern: /(\\s|[()])[-+]?\\d*\\.?\\d+(?:\\s*[-+]\\s*\\d*\\.?\\d+i)?\\b/,\n lookbehind: !0\n },\n boolean: /#[tf]/,\n operator: {\n pattern: /(\\()(?:[-+*%\\/]|[<>]=?|=>?)(?=\\s|$)/,\n lookbehind: !0\n },\n function: {\n pattern: /(\\()[^()'\\s]+(?=[()\\s)]|$)/,\n lookbehind: !0\n },\n punctuation: /[()']/\n};\nPrism.languages.twig = {\n comment: /\\{#[\\s\\S]*?#\\}/,\n tag: {\n pattern: /\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}/,\n inside: {\n ld: {\n pattern: /^(?:\\{\\{-?|\\{%-?\\s*\\w+)/,\n inside: {\n punctuation: /^(?:\\{\\{|\\{%)-?/,\n keyword: /\\w+/\n }\n },\n rd: {\n pattern: /-?(?:%\\}|\\}\\})$/,\n inside: {\n punctuation: /.+/\n }\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n }\n },\n keyword: /\\b(?:even|if|odd)\\b/,\n boolean: /\\b(?:true|false|null)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [{\n pattern: /(\\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: !0\n }, /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/],\n property: /\\b[a-zA-Z_]\\w*\\b/,\n punctuation: /[()\\[\\]{}:.,]/\n }\n },\n other: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.markup\n }\n};\nPrism.languages.swift = Prism.languages.extend(\"clike\", {\n string: {\n pattern: /(\"|')(\\\\(?:\\((?:[^()]|\\([^)]+\\))+\\)|\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: !0,\n inside: {\n interpolation: {\n pattern: /\\\\\\((?:[^()]|\\([^)]+\\))+\\)/,\n inside: {\n delimiter: {\n pattern: /^\\\\\\(|\\)$/,\n alias: \"variable\"\n }\n }\n }\n }\n },\n keyword: /\\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\\b/,\n number: /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n constant: /\\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n atrule: /@\\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\\b/,\n builtin: /\\b(?:[A-Z]\\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\\b/\n}), Prism.languages.swift.string.inside.interpolation.inside.rest = Prism.languages.swift;\nPrism.languages.yaml = {\n scalar: {\n pattern: /([\\-:]\\s*(?:![^\\s]+)?[ \\t]*[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)[^\\r\\n]+(?:\\2[^\\r\\n]+)*)/,\n lookbehind: !0,\n alias: \"string\"\n },\n comment: /#.*/,\n key: {\n pattern: /(\\s*(?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:![^\\s]+)?[ \\t]*)[^\\r\\n{[\\]},#\\s]+?(?=\\s*:\\s)/,\n lookbehind: !0,\n alias: \"atrule\"\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: !0,\n alias: \"important\"\n },\n datetime: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:\\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*)?)?)(?=[ \\t]*(?:$|,|]|}))/m,\n lookbehind: !0,\n alias: \"number\"\n },\n boolean: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:true|false)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n null: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(?:null|~)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0,\n alias: \"important\"\n },\n string: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)(\"|')(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2(?=[ \\t]*(?:$|,|]|}|\\s*#))/m,\n lookbehind: !0,\n greedy: !0\n },\n number: {\n pattern: /([:\\-,[{]\\s*(?:![^\\s]+)?[ \\t]*)[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+\\.?\\d*|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)[ \\t]*(?=$|,|]|})/im,\n lookbehind: !0\n },\n tag: /![^\\s]+/,\n important: /[&*][\\w]+/,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n}, Prism.languages.yml = Prism.languages.yaml;\n!function (e) {\n e.languages.haml = {\n \"multiline-comment\": {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/,\n lookbehind: !0,\n alias: \"comment\"\n },\n \"multiline-code\": [{\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.*\\|[\\t ]*)*/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }],\n filter: {\n pattern: /((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/,\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n }\n }\n },\n markup: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,\n lookbehind: !0\n },\n tag: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /(^|[^#])\\{(?:\\{[^}]+\\}|[^}])+\\}/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n \"attr-value\": {\n pattern: /(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,\n lookbehind: !0\n },\n \"attr-name\": /[\\w:-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[=(),]/\n }\n }, {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n rest: e.languages.ruby\n }\n }],\n punctuation: /[<>]/\n }\n },\n code: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,\n lookbehind: !0,\n inside: {\n rest: e.languages.ruby\n }\n },\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: \"punctuation\"\n },\n rest: e.languages.ruby\n }\n },\n punctuation: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,\n lookbehind: !0\n }\n };\n\n for (var t = [\"css\", {\n filter: \"coffee\",\n language: \"coffeescript\"\n }, \"erb\", \"javascript\", \"less\", \"markdown\", \"ruby\", \"scss\", \"textile\"], r = {}, n = 0, a = t.length; n < a; n++) {\n var i = t[n];\n i = \"string\" == typeof i ? {\n filter: i,\n language: i\n } : i, e.languages[i.language] && (r[\"filter-\" + i.filter] = {\n pattern: RegExp(\"((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ]+.+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\".replace(\"{{filter_name}}\", i.filter)),\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n },\n rest: e.languages[i.language]\n }\n });\n }\n\n e.languages.insertBefore(\"haml\", \"filter\", r);\n}(Prism);\n!function (e) {\n var d = \"(?:[\\\\w-]+|'[^'\\n\\r]*'|\\\"(?:\\\\.|[^\\\\\\\\\\\"\\r\\n])*\\\")\";\n Prism.languages.toml = {\n comment: {\n pattern: /#.*/,\n greedy: !0\n },\n table: {\n pattern: RegExp(\"(\\\\[\\\\s*)\" + d + \"(?:\\\\s*\\\\.\\\\s*\" + d + \")*(?=\\\\s*\\\\])\"),\n lookbehind: !0,\n greedy: !0,\n alias: \"class-name\"\n },\n key: {\n pattern: RegExp(\"(^\\\\s*|[{,]\\\\s*)\" + d + \"(?:\\\\s*\\\\.\\\\s*\" + d + \")*(?=\\\\s*=)\", \"m\"),\n lookbehind: !0,\n greedy: !0,\n alias: \"property\"\n },\n string: {\n pattern: /\"\"\"(?:\\\\[\\s\\S]|[^\\\\])*?\"\"\"|'''[\\s\\S]*?'''|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: !0\n },\n date: [{\n pattern: /\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?/i,\n alias: \"number\"\n }, {\n pattern: /\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?/i,\n alias: \"number\"\n }],\n number: /(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?(?:inf|nan)\\b/,\n boolean: /\\b(?:true|false)\\b/,\n punctuation: /[.,=[\\]{}]/\n };\n}();\n!function (e) {\n e.languages.pug = {\n comment: {\n pattern: /(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ]+.+)*/m,\n lookbehind: !0\n },\n \"multiline-script\": {\n pattern: /(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n filter: {\n pattern: /(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n }\n }\n },\n \"multiline-plain-text\": {\n pattern: /(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: !0\n },\n markup: {\n pattern: /(^[\\t ]*)<.+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.markup\n }\n },\n doctype: {\n pattern: /((?:^|\\n)[\\t ]*)doctype(?: .+)?/,\n lookbehind: !0\n },\n \"flow-control\": {\n pattern: /(^[\\t ]*)(?:if|unless|else|case|when|default|each|while)\\b(?: .+)?/m,\n lookbehind: !0,\n inside: {\n each: {\n pattern: /^each .+? in\\b/,\n inside: {\n keyword: /\\b(?:each|in)\\b/,\n punctuation: /,/\n }\n },\n branch: {\n pattern: /^(?:if|unless|else|case|when|default|while)\\b/,\n alias: \"keyword\"\n },\n rest: e.languages.javascript\n }\n },\n keyword: {\n pattern: /(^[\\t ]*)(?:block|extends|include|append|prepend)\\b.+/m,\n lookbehind: !0\n },\n mixin: [{\n pattern: /(^[\\t ]*)mixin .+/m,\n lookbehind: !0,\n inside: {\n keyword: /^mixin/,\n function: /\\w+(?=\\s*\\(|\\s*$)/,\n punctuation: /[(),.]/\n }\n }, {\n pattern: /(^[\\t ]*)\\+.+/m,\n lookbehind: !0,\n inside: {\n name: {\n pattern: /^\\+\\w+/,\n alias: \"function\"\n },\n rest: e.languages.javascript\n }\n }],\n script: {\n pattern: /(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]+).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n \"plain-text\": {\n pattern: /(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]+).+/m,\n lookbehind: !0\n },\n tag: {\n pattern: /(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,\n lookbehind: !0,\n inside: {\n attributes: [{\n pattern: /&[^(]+\\([^)]+\\)/,\n inside: {\n rest: e.languages.javascript\n }\n }, {\n pattern: /\\([^)]+\\)/,\n inside: {\n \"attr-value\": {\n pattern: /(=\\s*)(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n },\n \"attr-name\": /[\\w-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[!=(),]+/\n }\n }],\n punctuation: /:/\n }\n },\n code: [{\n pattern: /(^[\\t ]*(?:-|!?=)).+/m,\n lookbehind: !0,\n inside: {\n rest: e.languages.javascript\n }\n }],\n punctuation: /[.\\-!=|]+/\n };\n\n for (var t = [{\n filter: \"atpl\",\n language: \"twig\"\n }, {\n filter: \"coffee\",\n language: \"coffeescript\"\n }, \"ejs\", \"handlebars\", \"less\", \"livescript\", \"markdown\", {\n filter: \"sass\",\n language: \"scss\"\n }, \"stylus\"], n = {}, a = 0, i = t.length; a < i; a++) {\n var r = t[a];\n r = \"string\" == typeof r ? {\n filter: r,\n language: r\n } : r, e.languages[r.language] && (n[\"filter-\" + r.filter] = {\n pattern: RegExp(\"(^([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r(?!\\n))(?:\\\\2[\\t ]+.+|\\\\s*?(?=\\r?\\n|\\r)))+\".replace(\"{{filter_name}}\", r.filter), \"m\"),\n lookbehind: !0,\n inside: {\n \"filter-name\": {\n pattern: /^:[\\w-]+/,\n alias: \"variable\"\n },\n rest: e.languages[r.language]\n }\n });\n }\n\n e.languages.insertBefore(\"pug\", \"filter\", n);\n}(Prism);\nvar typescript = Prism.util.clone(Prism.languages.typescript);\nPrism.languages.tsx = Prism.languages.extend(\"jsx\", typescript);\nPrism.languages[\"visual-basic\"] = {\n comment: {\n pattern: /(?:[']|REM\\b).*/i,\n inside: {\n keyword: /^REM/i\n }\n },\n directive: {\n pattern: /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\\S\\r\\n]_[^\\S\\r\\n]*(?:\\r\\n?|\\n)|.)+/i,\n alias: \"comment\",\n greedy: !0\n },\n string: {\n pattern: /[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,\n greedy: !0\n },\n date: {\n pattern: /#[^\\S\\r\\n]*(?:\\d+([/-])\\d+\\1\\d+(?:[^\\S\\r\\n]+(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))?|(?:\\d+[^\\S\\r\\n]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[^\\S\\r\\n]*(?:AM|PM))?))[^\\S\\r\\n]*#/i,\n alias: \"builtin\"\n },\n number: /(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:U?[ILS]|[FRD])?/i,\n boolean: /\\b(?:True|False|Nothing)\\b/i,\n keyword: /\\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\\b/i,\n operator: [/[+\\-*/\\\\^<=>&#@$%!]/, {\n pattern: /([^\\S\\r\\n])_(?=[^\\S\\r\\n]*[\\r\\n])/,\n lookbehind: !0\n }],\n punctuation: /[{}().,:?]/\n}, Prism.languages.vb = Prism.languages[\"visual-basic\"];\nPrism.languages.vim = {\n string: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,\n comment: /\".*/,\n function: /\\w+(?=\\()/,\n keyword: /\\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\\b/,\n builtin: /\\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator: /\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,\n punctuation: /[{}[\\](),;:]/\n};\nPrism.languages.wasm = {\n comment: [/\\(;[\\s\\S]*?;\\)/, {\n pattern: /;;.*/,\n greedy: !0\n }],\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n greedy: !0\n },\n keyword: [{\n pattern: /\\b(?:align|offset)=/,\n inside: {\n operator: /=/\n }\n }, {\n pattern: /\\b(?:(?:f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n inside: {\n punctuation: /\\./\n }\n }, /\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/],\n variable: /\\$[\\w!#$%&'*+\\-./:<=>?@\\\\^_`|~]+/i,\n number: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n punctuation: /[()]/\n};\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document && document.querySelector) {\n var t,\n h = function h() {\n if (void 0 === t) {\n var e = document.createElement(\"div\");\n e.style.fontSize = \"13px\", e.style.lineHeight = \"1.5\", e.style.padding = 0, e.style.border = 0, e.innerHTML = \"&nbsp;<br />&nbsp;\", document.body.appendChild(e), t = 38 === e.offsetHeight, document.body.removeChild(e);\n }\n\n return t;\n },\n l = 0;\n\n Prism.hooks.add(\"before-sanity-check\", function (e) {\n var t = e.element.parentNode,\n n = t && t.getAttribute(\"data-line\");\n\n if (t && n && /pre/i.test(t.nodeName)) {\n var i = 0;\n r(\".line-highlight\", t).forEach(function (e) {\n i += e.textContent.length, e.parentNode.removeChild(e);\n }), i && /^( \\n)+$/.test(e.code.slice(-i)) && (e.code = e.code.slice(0, -i));\n }\n }), Prism.hooks.add(\"complete\", function e(t) {\n var n = t.element.parentNode,\n i = n && n.getAttribute(\"data-line\");\n\n if (n && i && /pre/i.test(n.nodeName)) {\n clearTimeout(l);\n var r = Prism.plugins.lineNumbers,\n o = t.plugins && t.plugins.lineNumbers;\n g(n, \"line-numbers\") && r && !o ? Prism.hooks.add(\"line-numbers\", e) : (a(n, i), l = setTimeout(s, 1));\n }\n }), window.addEventListener(\"hashchange\", s), window.addEventListener(\"resize\", function () {\n var e = document.querySelectorAll(\"pre[data-line]\");\n Array.prototype.forEach.call(e, function (e) {\n a(e);\n });\n });\n }\n\n function r(e, t) {\n return Array.prototype.slice.call((t || document).querySelectorAll(e));\n }\n\n function g(e, t) {\n return t = \" \" + t + \" \", -1 < (\" \" + e.className + \" \").replace(/[\\n\\t]/g, \" \").indexOf(t);\n }\n\n function a(e, t, n) {\n for (var i, r = (t = \"string\" == typeof t ? t : e.getAttribute(\"data-line\")).replace(/\\s+/g, \"\").split(\",\"), o = +e.getAttribute(\"data-line-offset\") || 0, l = (h() ? parseInt : parseFloat)(getComputedStyle(e).lineHeight), a = g(e, \"line-numbers\"), s = 0; i = r[s++];) {\n var d = i.split(\"-\"),\n u = +d[0],\n c = +d[1] || u,\n m = e.querySelector('.line-highlight[data-range=\"' + i + '\"]') || document.createElement(\"div\");\n\n if (m.setAttribute(\"aria-hidden\", \"true\"), m.setAttribute(\"data-range\", i), m.className = (n || \"\") + \" line-highlight\", a && Prism.plugins.lineNumbers) {\n var p = Prism.plugins.lineNumbers.getLine(e, u),\n f = Prism.plugins.lineNumbers.getLine(e, c);\n p && (m.style.top = p.offsetTop + \"px\"), f && (m.style.height = f.offsetTop - p.offsetTop + f.offsetHeight + \"px\");\n } else m.setAttribute(\"data-start\", u), u < c && m.setAttribute(\"data-end\", c), m.style.top = (u - o - 1) * l + \"px\", m.textContent = new Array(c - u + 2).join(\" \\n\");\n\n a ? e.appendChild(m) : (e.querySelector(\"code\") || e).appendChild(m);\n }\n }\n\n function s() {\n var e = location.hash.slice(1);\n r(\".temporary.line-highlight\").forEach(function (e) {\n e.parentNode.removeChild(e);\n });\n var t = (e.match(/\\.([\\d,-]+)$/) || [, \"\"])[1];\n\n if (t && !document.getElementById(e)) {\n var n = e.slice(0, e.lastIndexOf(\".\")),\n i = document.getElementById(n);\n i && (i.hasAttribute(\"data-line\") || i.setAttribute(\"data-line\", \"\"), a(i, t, \"temporary \"), document.querySelector(\".temporary.line-highlight\").scrollIntoView());\n }\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var l = \"line-numbers\",\n c = /\\n(?!$)/g,\n m = function m(e) {\n var t = a(e)[\"white-space\"];\n\n if (\"pre-wrap\" === t || \"pre-line\" === t) {\n var n = e.querySelector(\"code\"),\n r = e.querySelector(\".line-numbers-rows\"),\n s = e.querySelector(\".line-numbers-sizer\"),\n i = n.textContent.split(c);\n s || ((s = document.createElement(\"span\")).className = \"line-numbers-sizer\", n.appendChild(s)), s.style.display = \"block\", i.forEach(function (e, t) {\n s.textContent = e || \"\\n\";\n var n = s.getBoundingClientRect().height;\n r.children[t].style.height = n + \"px\";\n }), s.textContent = \"\", s.style.display = \"none\";\n }\n },\n a = function a(e) {\n return e ? window.getComputedStyle ? getComputedStyle(e) : e.currentStyle || null : null;\n };\n\n window.addEventListener(\"resize\", function () {\n Array.prototype.forEach.call(document.querySelectorAll(\"pre.\" + l), m);\n }), Prism.hooks.add(\"complete\", function (e) {\n if (e.code) {\n var t = e.element,\n n = t.parentNode;\n\n if (n && /pre/i.test(n.nodeName) && !t.querySelector(\".line-numbers-rows\")) {\n for (var r = !1, s = /(?:^|\\s)line-numbers(?:\\s|$)/, i = t; i; i = i.parentNode) {\n if (s.test(i.className)) {\n r = !0;\n break;\n }\n }\n\n if (r) {\n t.className = t.className.replace(s, \" \"), s.test(n.className) || (n.className += \" line-numbers\");\n var l,\n a = e.code.match(c),\n o = a ? a.length + 1 : 1,\n u = new Array(o + 1).join(\"<span></span>\");\n (l = document.createElement(\"span\")).setAttribute(\"aria-hidden\", \"true\"), l.className = \"line-numbers-rows\", l.innerHTML = u, n.hasAttribute(\"data-start\") && (n.style.counterReset = \"linenumber \" + (parseInt(n.getAttribute(\"data-start\"), 10) - 1)), e.element.appendChild(l), m(n), Prism.hooks.run(\"line-numbers\", e);\n }\n }\n }\n }), Prism.hooks.add(\"line-numbers\", function (e) {\n e.plugins = e.plugins || {}, e.plugins.lineNumbers = !0;\n }), Prism.plugins.lineNumbers = {\n getLine: function getLine(e, t) {\n if (\"PRE\" === e.tagName && e.classList.contains(l)) {\n var n = e.querySelector(\".line-numbers-rows\"),\n r = parseInt(e.getAttribute(\"data-start\"), 10) || 1,\n s = r + (n.children.length - 1);\n t < r && (t = r), s < t && (t = s);\n var i = t - r;\n return n.children[i];\n }\n }\n };\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var r = [],\n i = {},\n n = function n() {};\n\n Prism.plugins.toolbar = {};\n\n var t = Prism.plugins.toolbar.registerButton = function (t, n) {\n var e;\n e = \"function\" == typeof n ? n : function (t) {\n var e;\n return \"function\" == typeof n.onClick ? ((e = document.createElement(\"button\")).type = \"button\", e.addEventListener(\"click\", function () {\n n.onClick.call(this, t);\n })) : \"string\" == typeof n.url ? (e = document.createElement(\"a\")).href = n.url : e = document.createElement(\"span\"), e.textContent = n.text, e;\n }, r.push(i[t] = e);\n },\n e = Prism.plugins.toolbar.hook = function (a) {\n var t = a.element.parentNode;\n\n if (t && /pre/i.test(t.nodeName) && !t.parentNode.classList.contains(\"code-toolbar\")) {\n var e = document.createElement(\"div\");\n e.classList.add(\"code-toolbar\"), t.parentNode.insertBefore(e, t), e.appendChild(t);\n var o = document.createElement(\"div\");\n o.classList.add(\"toolbar\"), document.body.hasAttribute(\"data-toolbar-order\") && (r = document.body.getAttribute(\"data-toolbar-order\").split(\",\").map(function (t) {\n return i[t] || n;\n })), r.forEach(function (t) {\n var e = t(a);\n\n if (e) {\n var n = document.createElement(\"div\");\n n.classList.add(\"toolbar-item\"), n.appendChild(e), o.appendChild(n);\n }\n }), e.appendChild(o);\n }\n };\n\n t(\"label\", function (t) {\n var e = t.element.parentNode;\n\n if (e && /pre/i.test(e.nodeName) && e.hasAttribute(\"data-label\")) {\n var n,\n a,\n o = e.getAttribute(\"data-label\");\n\n try {\n a = document.querySelector(\"template#\" + o);\n } catch (t) {}\n\n return a ? n = a.content : (e.hasAttribute(\"data-url\") ? (n = document.createElement(\"a\")).href = e.getAttribute(\"data-url\") : n = document.createElement(\"span\"), n.textContent = o), n;\n }\n }), Prism.hooks.add(\"complete\", e);\n }\n}();\n!function () {\n if (self.Prism && self.document && document.querySelectorAll && [].filter) {\n var d = [];\n t(function (t, e) {\n if (t && t.meta && t.data) {\n if (t.meta.status && 400 <= t.meta.status) return \"Error: \" + (t.data.message || t.meta.status);\n if (\"string\" == typeof t.data.content) return \"function\" == typeof atob ? atob(t.data.content.replace(/\\s/g, \"\")) : \"Your browser cannot decode base64\";\n }\n\n return null;\n }, \"github\"), t(function (t, e) {\n if (t && t.meta && t.data && t.data.files) {\n if (t.meta.status && 400 <= t.meta.status) return \"Error: \" + (t.data.message || t.meta.status);\n var n = t.data.files,\n a = e.getAttribute(\"data-filename\");\n if (null == a) for (var r in n) {\n if (n.hasOwnProperty(r)) {\n a = r;\n break;\n }\n }\n return void 0 !== n[a] ? n[a].content : \"Error: unknown or missing gist file \" + a;\n }\n\n return null;\n }, \"gist\"), t(function (t, e) {\n return t && t.node && \"string\" == typeof t.data ? t.data : null;\n }, \"bitbucket\");\n var s = 0,\n l = \"Loading…\";\n Prism.plugins.jsonphighlight = {\n registerAdapter: t,\n removeAdapter: function removeAdapter(t) {\n if (\"string\" == typeof t && (t = n(t)), \"function\" == typeof t) {\n var e = d.map(function (t) {\n return t.adapter;\n }).indexOf(t);\n 0 <= e && d.splice(e, 1);\n }\n },\n highlight: e\n }, e();\n }\n\n function t(t, e) {\n e = e || t.name, \"function\" != typeof t || n(t) || n(e) || d.push({\n adapter: t,\n name: e\n });\n }\n\n function n(t) {\n if (\"function\" == typeof t) {\n for (var e = 0; n = d[e++];) {\n if (n.adapter.valueOf() === t.valueOf()) return n.adapter;\n }\n } else if (\"string\" == typeof t) {\n var n;\n\n for (e = 0; n = d[e++];) {\n if (n.name === t) return n.adapter;\n }\n }\n\n return null;\n }\n\n function e() {\n Array.prototype.slice.call(document.querySelectorAll(\"pre[data-jsonp]\")).forEach(function (a) {\n a.textContent = \"\";\n var r = document.createElement(\"code\");\n r.textContent = l, a.appendChild(r);\n var t = a.getAttribute(\"data-adapter\"),\n o = null;\n\n if (t) {\n if (\"function\" != typeof window[t]) return void (r.textContent = \"JSONP adapter function '\" + t + \"' doesn't exist\");\n o = window[t];\n }\n\n var i = \"prismjsonp\" + s++,\n e = document.createElement(\"a\"),\n n = e.href = a.getAttribute(\"data-jsonp\");\n e.href += (e.search ? \"&\" : \"?\") + (a.getAttribute(\"data-callback\") || \"callback\") + \"=\" + i;\n var u = setTimeout(function () {\n r.textContent === l && (r.textContent = \"Timeout loading '\" + n + \"'\");\n }, 5e3),\n f = document.createElement(\"script\");\n f.src = e.href, window[i] = function (t) {\n document.head.removeChild(f), clearTimeout(u), delete window[i];\n var e = \"\";\n if (o) e = o(t, a);else for (var n in d) {\n if (null !== (e = d[n].adapter(t, a))) break;\n }\n null === e ? r.textContent = \"Cannot parse response (perhaps you need an adapter function?)\" : (r.textContent = e, Prism.highlightElement(r));\n }, document.head.appendChild(f);\n });\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) {\n var u = /(?:^|\\s)command-line(?:\\s|$)/;\n Prism.hooks.add(\"before-highlight\", function (e) {\n var t = e.vars = e.vars || {},\n a = t[\"command-line\"] = t[\"command-line\"] || {};\n\n if (!a.complete && e.code) {\n var n = e.element.parentNode;\n if (n && /pre/i.test(n.nodeName) && (u.test(n.className) || u.test(e.element.className))) {\n if (e.element.querySelector(\".command-line-prompt\")) a.complete = !0;else {\n var r = e.code.split(\"\\n\");\n a.numberOfLines = r.length;\n var s = a.outputLines = [],\n o = n.getAttribute(\"data-output\"),\n i = n.getAttribute(\"data-filter-output\");\n\n if (o || \"\" === o) {\n o = o.split(\",\");\n\n for (var l = 0; l < o.length; l++) {\n var m = o[l].split(\"-\"),\n p = parseInt(m[0], 10),\n d = 2 === m.length ? parseInt(m[1], 10) : p;\n\n if (!isNaN(p) && !isNaN(d)) {\n p < 1 && (p = 1), d > r.length && (d = r.length), d--;\n\n for (var c = --p; c <= d; c++) {\n s[c] = r[c], r[c] = \"\";\n }\n }\n }\n } else if (i) for (l = 0; l < r.length; l++) {\n 0 === r[l].indexOf(i) && (s[l] = r[l].slice(i.length), r[l] = \"\");\n }\n\n e.code = r.join(\"\\n\");\n }\n } else a.complete = !0;\n } else a.complete = !0;\n }), Prism.hooks.add(\"before-insert\", function (e) {\n var t = e.vars = e.vars || {},\n a = t[\"command-line\"] = t[\"command-line\"] || {};\n\n if (!a.complete) {\n for (var n = e.highlightedCode.split(\"\\n\"), r = 0; r < a.outputLines.length; r++) {\n a.outputLines.hasOwnProperty(r) && (n[r] = a.outputLines[r]);\n }\n\n e.highlightedCode = n.join(\"\\n\");\n }\n }), Prism.hooks.add(\"complete\", function (e) {\n var t = e.vars = e.vars || {},\n a = t[\"command-line\"] = t[\"command-line\"] || {};\n\n if (!a.complete) {\n var n = e.element.parentNode;\n u.test(e.element.className) && (e.element.className = e.element.className.replace(u, \" \")), u.test(n.className) || (n.className += \" command-line\");\n\n var r = function r(e, t) {\n return (n.getAttribute(e) || t).replace(/\"/g, \"&quot\");\n },\n s = new Array(a.numberOfLines + 1),\n o = r(\"data-prompt\", \"\");\n\n if (\"\" !== o) s = s.join('<span data-prompt=\"' + o + '\"></span>');else {\n var i = r(\"data-user\", \"user\"),\n l = r(\"data-host\", \"localhost\");\n s = s.join('<span data-user=\"' + i + '\" data-host=\"' + l + '\"></span>');\n }\n var m = document.createElement(\"span\");\n m.className = \"command-line-prompt\", m.innerHTML = s;\n\n for (var p = 0; p < a.outputLines.length; p++) {\n if (a.outputLines.hasOwnProperty(p)) {\n var d = m.children[p];\n d.removeAttribute(\"data-user\"), d.removeAttribute(\"data-host\"), d.removeAttribute(\"data-prompt\");\n }\n }\n\n e.element.insertBefore(m, e.element.firstChild), a.complete = !0;\n }\n });\n }\n}();\n!function () {\n if (\"undefined\" != typeof self && self.Prism && self.document) if (Prism.plugins.toolbar) {\n var r = window.ClipboardJS || void 0;\n r || \"function\" != \"function\" || (r = __webpack_require__(/*! clipboard */ \"./node_modules/clipboard/dist/clipboard.js\"));\n var i = [];\n\n if (!r) {\n var o = document.createElement(\"script\"),\n e = document.querySelector(\"head\");\n o.onload = function () {\n if (r = window.ClipboardJS) for (; i.length;) {\n i.pop()();\n }\n }, o.src = \"https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js\", e.appendChild(o);\n }\n\n Prism.plugins.toolbar.registerButton(\"copy-to-clipboard\", function (e) {\n var t = document.createElement(\"a\");\n return t.textContent = \"Copy\", r ? o() : i.push(o), t;\n\n function o() {\n var o = new r(t, {\n text: function text() {\n return e.code;\n }\n });\n o.on(\"success\", function () {\n t.textContent = \"Copied!\", n();\n }), o.on(\"error\", function () {\n t.textContent = \"Press Ctrl+C to copy\", n();\n });\n }\n\n function n() {\n setTimeout(function () {\n t.textContent = \"Copy\";\n }, 5e3);\n }\n });\n } else console.warn(\"Copy to Clipboard plugin loaded before Toolbar plugin.\");\n}();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./source/js/prism.js?");
/***/ })
/******/ });