[
  {
    "path": ".gitignore",
    "content": "node_modules\npackage-lock.json\n.vscode"
  },
  {
    "path": "README.md",
    "content": "# 🧠 Human GPU Exercises.\n\n![picture head](https://cdn-images-1.medium.com/max/1200/1*aMFjS2fG43qh5vH0J2QvLg.jpeg)\n\nIn the process of giving a WebGL workshop I created a series of exercises that aims to teach the basic of the WebGL/OpenGL pipeline.\nThe excercises are made to be printed and done in old-fashion **pen and paper**.\n\nYou are the GPU, you need to _read_, _parse_, _compile_ and _render_ using only the power of your mind.\n\nIt's a hands on experiments, where WebGL features are introduced incrementally and where exercises are meant to be done in the correct order.\n\nEach exercise is accompanied by its solution that shows the final frame.\n\nThis is still a work-in-progress thing, surely full of typos and subject to changes.\n\n![](https://i.giphy.com/media/Y0y50KCiSfzXzKyYiu/source.gif)\n\n- [#0001 - The intro](https://github.com/luruke/human-gpu/blob/main/exercises/0001.pdf)\n- [#0002 - Position attribute](https://github.com/luruke/human-gpu/blob/main/exercises/0002.pdf)\n- [#0003 - Only triangle?](https://github.com/luruke/human-gpu/blob/main/exercises/0003.pdf)\n- [#0004 - Vecfour?](https://github.com/luruke/human-gpu/blob/main/exercises/0004.pdf)\n- [#0005 - Multiple attributes](https://github.com/luruke/human-gpu/blob/main/exercises/0005.pdf)\n- [#0006 - Buffer + attribute pr0 l337](https://github.com/luruke/human-gpu/blob/main/exercises/0006.pdf)\n- [#0007 - Do you love GPU?](https://github.com/luruke/human-gpu/blob/main/exercises/0007.pdf)\n- [#0008 - Less memory is good](https://github.com/luruke/human-gpu/blob/main/exercises/0008.pdf)\n- [#0009 - Uniforms](https://github.com/luruke/human-gpu/blob/main/exercises/0009.pdf)\n- [#0010 - Uniforms v2](https://github.com/luruke/human-gpu/blob/main/exercises/0010.pdf)\n- [#0011 - GLSL](https://github.com/luruke/human-gpu/blob/main/exercises/0011.pdf)\n- [#0012 - what about z and w?](https://github.com/luruke/human-gpu/blob/main/exercises/0012.pdf)\n- [#0013 - Fragment shader](https://github.com/luruke/human-gpu/blob/main/exercises/0013.pdf)\n- [#0014 - Filling pixels](https://github.com/luruke/human-gpu/blob/main/exercises/0014.pdf)\n- [#0015 - Half pixel?](https://github.com/luruke/human-gpu/blob/main/exercises/0015.pdf)\n- [#0016 - Varyings](https://github.com/luruke/human-gpu/blob/main/exercises/0016.pdf)\n- [#0017 - UV?](https://github.com/luruke/human-gpu/blob/main/exercises/0017.pdf)\n- #0018... To be done\n- #0019... To be done\n- #0020... To be done\n- ...\n\n[Download all](https://github.com/luruke/human-gpu/archive/main.zip)\n"
  },
  {
    "path": "src/gen-pdf.js",
    "content": "const puppeteer = require(\"puppeteer\");\n\nconst delay = (t) => {\n  return new Promise((resolve) => {\n    setTimeout(resolve, t);\n  });\n};\n\n(async () => {\n  const browser = await puppeteer.launch({\n    dumpio: true,\n    headless: false,\n    args: [\"--headless\", \"--hide-scrollbars\", \"--mute-audio\"],\n    // args: [\"--hide-scrollbars\", \"--mute-audio\"],\n  });\n  const page = await browser.newPage();\n\n  const genScreenshot = async (url, filename) => {\n    await page.goto(url, {\n      waitUntil: \"networkidle2\",\n    });\n\n    await delay(50);\n\n    await await page.pdf({\n      path: filename,\n      format: \"A4\",\n      pageRanges: \"1\",\n    });\n  };\n\n  const genExercise = async (i) => {\n    const name = i.toString().padStart(4, \"0\");\n    const url = `http://127.0.0.1:8080/index.html?n=${i}`;\n    const excercise = `../exercises/${name}.pdf`;\n    const solution = `../solutions/${name}.pdf`;\n\n    console.log(excercise);\n\n    await genScreenshot(url + \"&hide\", excercise);\n    await genScreenshot(url, solution);\n  };\n\n  // genExercise(11);\n  // genExercise(12);\n\n  for (let i = 1; i < 11; i++) {\n    genExercise(i);\n  }\n\n  await browser.close();\n})();\n"
  },
  {
    "path": "src/html/exercises/1/1.js",
    "content": "const BUFFERS = `{\n  \"data1\": [0.0, 1.0, 2.0]\n}`;\n\nconst ATTRIBUTES = `{\n  \"id\": { \"buffer\": \"data1\", \"size\": 1 }\n}`;\n\nconst UNIFORMS = `{}`;\n\nconst VERTEX = `attribute float id;\n\nvoid main() {\n  if (id == 0.0) {\n    gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n  }\n\n  if (id == 1.0) {\n    gl_Position = vec4(0.0, 0.5, 0.0, 1.0);\n  }\n\n  if (id == 2.0) {\n    gl_Position = vec4(0.7, 0.0, 0.0, 1.0);\n  }\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0001 – The intro\";\nconst TIPS = `Hello human! I'm the graphics processing unit doing all the heavy lifting under your WebGL application. I always do your dirty job, with all those math expressions and repetitive tasks. I have enough! I need some damn vacation...Now it's your turn.\n\nDon't worry, I'll explain you what to do step by step. On the right you have a grid with the framebuffer. Your job is to to draw the final frame. You will find all the information you need to draw that frame.\n\nLet me you introduce the *Buffers*:\n- It's super simple, they are just raw data!\n- Usually they are just a big array containing \\`float\\` values\n\nahh, then we have the dears *Attributes*:\n- They are the \"pointer|interface\" that lets you read from buffers\n\nIn this example, we have one attribute called \\`id\\` that lets you read from \\`data1\\` one element at the time. (because \\`size\\` is \\`1\\`)\n\nThen we have the *Vertex shader*, a small GLSL program that you will be using to draw the shape of your image.\n\nOnce you finish to draw, you can send the framebuffer on the screen and show the image on the screen. But be quick! We just have 16 milliseconds!\n\nNow go and draw \\`1 triangle\\`! If you don't know human, a triangle have 3 points (or vertices). Still confused? right...it's your first time...ok\n\nIf I were you, I would:\n\n1. Run the vertex shader (in your mind)\n\n2. Read the \\`gl_Position\\` X and Y value, and draw a little dot at the right NDC spot.\n\nThis special variable contains in the order the X, Y, Z, W of the Normalized Device Coordinates (NDC).\nIt's similar to your human Cartesian coordinate system, It's just that it's a bit messed up and it goes from -1 to +1.\n\nDon't worry about the Z and W component. We don't need them now.\nTo help you out, I've added on each corner the coordinate (X, Y) reference. Plus each little square measures exactly 0.1 NDC.\n\n3. Repeat step 1 and 2 three times, one for each triangle point or vertex. (Pay attention that attribute \\`id\\` will change at each invocation)\n\n4. Draw a line that unites the three dots. (I call this primitive assembly)\n\nNow go and give it a try! Will go in more detail on GLSL and other details in the next exercises.`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 290px;\n}\n.box-tips {\n  width: 380px;\n}\n\n.box-tips code {\n  font-size: 9px;\n}\n\n.canvas {\n  width: 80mm;\n  height: 80mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/10/10.js",
    "content": "const BUFFERS = `{\n  \"data\": [\n    -0.5, -0.5, -0.5, 0.5, 0.5, -0.5,\n    -0.5, 0.5, 0.5, 0.5, 0.5, -0.5\n  ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"position\": { \"buffer\": \"data\", \"size\": 2 }\n}`;\n\nconst UNIFORMS = `{\n  \"offset\": [0.1, 0.5],\n  \"stretch\": 0.5\n}`;\n\nconst VERTEX = `attribute vec2 position;\nuniform vec2 offset;\nuniform float stretch;\n\nvoid main() {\n  vec2 pos = position;\n  pos += offset;\n  pos.y += pos.x * stretch;\n\n  gl_Position = vec4(pos, 0.0, 1.0);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0010 – Uniforms v2\";\nconst TIPS = `W0w hum4n, that's already our gpu task n.10!\n\nYou really are a good apprentice, you remind me my great grandfather amiga GPU v.01.\n\nLike attributes, you can have multiple uniforms in your shader.\n\nDraw me 2 trianglessss, c'mon.\n\nIn case you are wondering...What's happening when a vertex goes outside the NDC range?\n\nWe just draw it at the edge human!\nBasically we clamp and make sure values are always -1 and +1.`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 2 * 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/11/11.js",
    "content": "const BUFFERS = `{\n  \"data\": [\n    -0.1, -0.1, -0.2, 0.2, 0.1, 0.2\n  ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"aPosition\": { \"buffer\": \"data\", \"size\": 2 }\n}`;\n\nconst UNIFORMS = `{\n  \"uOffset\": [0.1, -0.2]\n}`;\n\nconst VERTEX = `attribute vec2 aPosition;\nuniform vec2 uOffset;\n\nconst float multiplier = 2.0;\n\nvec2 getPosition() {\n  vec2 p = aPosition;\n\n  for (int i = 0; i < 2; i++) {\n    p *= multiplier;\n  }\n\n  p += uOffset;\n\n  return p;\n}\n\nvoid main() {\n  vec2 pos = getPosition();\n\n  gl_Position = vec4(pos, 0.0, 1.0);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0011 – GLSL\";\nconst TIPS = `What's up bro?\nnew little task for you.\n\nAs you probably noticed GLSL language is very similar to \"C\" and it has all the common things you can expect from a C-like languages. (\\`for, while, if, else\\`)\n\nAlso, you'll see that is common for other humans like you to name attributes and uniforms with their type as prefix, like \\`aVariable\\` or \\`uVariable\\`...humans are so werid man...\n\nDraw me a triangle for me?`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 1 * 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/12/12.js",
    "content": "const BUFFERS = `{\n  \"data\": [\n    -0.5, -0.5, 0.5, 0.6, 0.6, 2, -0.5, 0.5, 1.0\n  ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"aData\": { \"buffer\": \"data\", \"size\": 3 }\n}`;\n\nconst UNIFORMS = `{\n  \"uDepth\": 0.4\n}`;\n\nconst VERTEX = `attribute vec3 aData;\nuniform float uDepth;\n\nvoid main() {\n  vec2 pos = aData.xy;\n  gl_Position = vec4(pos, uDepth, aData.z);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0012 – what about z and w?\";\nconst TIPS = `0101010101011010101011010100001! 0101001011?\n\nAh, it's you human sorry...sometimes i forgot that you don't talk our languge.\n\nUntil now we only draw stupid 2D shapes, and maybe you are wondering, how do we render those 3D cool stuff!??\nSlow down...we'll get there.\n\nNothing magical or special, in order to do 3D, app data (uniforms + attributes) combined with some math in the vertex shader will simulate perspective and depth.\n\nWe (GPU) don't have any notion about 3D, we just draw triangle were the apps tell us. All those things and fancy names (perspective camera, orthographic, projection) are humans concepts, best-practices and standards.\n\nBut let's go step by step!\n\nBy now we only modified the \\`gl_Position\\` \\`x\\` and \\`y\\` property.\n\nYou might think that the \\`z\\` property will change the perspective and depth of the vertex, but this actully will only be used to create the \"\\`depth buffer\\`\" and has no impact at all on the position of the vertex.\nThink about it like the CSS \\`z-index\\` value.\nIt's used to determinate visibility when verticies are overlapping.\nNotice that when \\`z\\` goes outside the -1/+1 range, the vertex is discarded.\n\nThe \\`w\\` property (the last value in the \\`vec4\\`) is also called \\`homogeneous coordinate\\`. Before processing the \\`x, y, z\\` we must divide them by the \\`w\\` component.\nBy now it always had \\`1.0\\` value, so, without knowing, we always divided \\`x, y and z\\` by \\`1.0\\` – which had no effect.\nIt's pretty stupid right? Yes, and I agree with you. But there are reasons behind it\n\nLet me see..draw me a triangle!`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 1 * 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n.canvas {\n  width: 90mm;\n  height: 90mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/13/13.js",
    "content": "const BUFFERS = `{\n  \"data\": [ -0.5, 0.5, 0.0, 0.5, 0.5, 0.0,\n            0.5, -0.5, 0.0, -0.5, -0.5, 0.0 ],\n  \"_index\": [ 3, 0, 1, 1, 2, 3 ]\n}`;\n\nconst ATTRIBUTES = `{ \"aPosition\": { \"buffer\": \"data\", \"size\": 3 } }`;\n\nconst UNIFORMS = `{\n  \n}`;\n\nconst VERTEX = `attribute vec3 aPosition;\n\nvoid main() {\n  gl_Position = vec4(aPosition, 1.0);\n}`;\n\nconst SHOW_PIXELS = true;\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = false;\nconst TITLE = \"Human GPU #0013 – Fragment shader\";\nconst TIPS = `hello! let's talk about the elephant in the room....Introducing you the *Fragment Shader*!\n\nUntil now, you only did half of the job, completing just a part of the real WebGL pipeline.\n\nDrawing the triangles, in the way we did, is generally called Shape or Primitive Assembly. We worked in a theorethical vectorial space, without taking into account the actual screen (or better saying, the frame buffer) resolution.\n\nAfter drawing our triangles, we need to \"project\" our shapes to a pixel grid. This phase is called rasterization.\n\nThe frame buffer where we are drawing has in fact a well defined resolution.\n\nWe are going to work with a whopping 60x60px resolution! For a total of 3600 pixels. (I'm trying to help you out, human...).\n\nYou'll see the frame buffer has now a new grid. Each little square in this new grid will rapresent a pixel.\n\nSimilarly to our vertex shader, the fragment shader is written in \\`GLSL\\` and it has only a job: define and set the global variable \\`gl_FragColor\\`.\n\nThe \\`gl_FragColor\\` will set the color of the pixel in RGBA.\n\nLet's give it a try: draw and *color* 2 triangles!\n`;\n\nconst RUN = (gl) => {\n  // gl.drawArrays(gl.TRIANGLES, 0, 2 * 3);\n  gl.drawElements(gl.TRIANGLES, 2 * 3, gl.UNSIGNED_SHORT, 0);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/14/14.js",
    "content": "const BUFFERS = `{\n  \"data\": [\n    -0.5, -0.5, 2.0, -0.5, 0.5, 2.0,\n    0.5, 0.5, 1.0, -0.5, -0.5, 2.0,\n    0.5, -0.5, 1.0, 0.5, 0.5, 1.0\n  ]\n}`;\n\nconst ATTRIBUTES = `{ \"aPosition\": { \"buffer\": \"data\", \"size\": 3 } }`;\n\nconst UNIFORMS = `{ \"uColor\": [1.0, 0.0, 0.0] }`;\n\nconst VERTEX = `attribute vec3 aPosition;\n\nvoid main() {\n  gl_Position = vec4(aPosition.xy, 0.0, aPosition.z);\n}`;\n\nconst SHOW_PIXELS = true;\nconst FRAGMENT = `precision highp float;\nuniform vec3 uColor;\n\nvoid main() {\n  gl_FragColor = vec4(uColor.rgb, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = false;\nconst TITLE = \"Human GPU #0014 – Filling pixels\";\nconst TIPS = `Ok, so, you liked painting and filling squares, human?\n\nOur previous square in #0013 was 30x30px, and it filled a surface of 900 pixels.\n\nThe fragment shader was executed (in your mind) 900 times, and the vertex shader was executed 6 times.\n\nFew more things about fragment shader:\n\nDon't pay too much attention to the \\`precision highp float;\\`; Fragment shader lacks of default precision format, so we must specify one.\n\nThe RGBA values expressed in gl_FragColor spans from 0 to 1.\nFor instance \\`rgb(233, 10, 30)\\` will be expressed as \\`vec3(233.0 / 255.0, 10.0 / 255.0, 30.0 / 255.0)\\`\n\nThe fragment shader can access to uniforms, like the vertex shader does.\n\nDraw two triangles, and fill them!\n`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 2 * 3);\n  // gl.drawElements(gl.TRIANGLES, 2 * 3, gl.UNSIGNED_SHORT, 0);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/15/15.js",
    "content": "const BUFFERS = `{\n  \"data\": [\n    -0.75, -0.8,\n    0.5, 0.5,\n    0.5, -0.5\n  ]\n}`;\n\nconst ATTRIBUTES = `{ \"aPosition\": { \"buffer\": \"data\", \"size\": 2 } }`;\n\nconst UNIFORMS = `{ \"uColor\": [1.0, 1.0, 0.0] }`;\n\nconst VERTEX = `attribute vec2 aPosition;\n\nvoid main() {\n  gl_Position = vec4(aPosition.xy, 0.0, 1.0);\n}`;\n\nconst SHOW_PIXELS = true;\nconst FRAGMENT = `precision highp float;\nuniform vec3 uColor;\n\nvoid main() {\n  gl_FragColor = vec4(uColor.rgb, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = false;\nconst TITLE = \"Human GPU #0015 – Half pixel?\";\nconst TIPS = `Hey human...you probably wondered, what happens when a triangle fills just a part of a pixel?\nWe need to fill it or not?\n\nThe phyical led, in fact, can have just one color! no cheating on that.\n\nEither you fill it completely or not.\n\nSo, how do we get sharp and and nice-looking shapes on a finite number of pixel then?\n\nShort answer, you can't, but there are some tricks you can put in place...\"antialiasing\", rings a bell to you?\nWe won't dive into it...as I'm pretty sure your calculation power is pretty limited...\n\nCan you draw a triangle and fill it?`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 1 * 3);\n  // gl.drawElements(gl.TRIANGLES, 2 * 3, gl.UNSIGNED_SHORT, 0);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/16/16.js",
    "content": "const BUFFERS = `{\n  \"position\": [ 0.0, -0.8, -0.8, 0.8, 0.8, 0.8 ],\n  \"darkness\": [ 1.0, 0.0, 0.0 ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"aPosition\": { \"buffer\": \"position\", \"size\": 2 },\n  \"aDarkness\": { \"buffer\": \"darkness\", \"size\": 1 }\n}`;\n\nconst UNIFORMS = `{ }`;\n\nconst VERTEX = `attribute vec2 aPosition;\nattribute float aDarkness;\nvarying float vDark;\n\nvoid main() {\n  vDark = aDarkness;\n  gl_Position = vec4(aPosition.xy, 0.0, 1.0);\n}`;\n\nconst SHOW_PIXELS = true;\nconst FRAGMENT = `precision highp float;\nuniform vec3 uColor;\nvarying float vDark;\n\nvoid main() {\n  gl_FragColor = vec4(vec3(1.0 - vDark), 1.0);\n}`;\n\nconst HIDE_FRAGMENT = false;\nconst TITLE = \"Human GPU #0016 – Varyings\";\nconst TIPS = `How do we draw something more interesting then just a plain color?\n\nHow can we get some sort of variables/dynamic thing in the fragment shader so to add some logic?\nWith \\`varying\\`, of course!\n\nAlong to the type qualifiers \\`attribute\\` and \\`uniform\\`, we are introducing \\`varying\\` variables.\nIs the only way to pass information from the vertex shader to the fragment shader.\n\nA varying is defined per each vertex, and its valued is passed along the pipeline to the fragment shader.\nThis value will then be interpolated linearly along the pixels. (mindblowing, right??)\n\nLet's say we draw a line, composed from points (vertices) A and B, that is stretched along 100 pixels width.\n\n- vertex A has a varying with value 0.0\n- vertex B has a varying with value 1.0\n\nThis will result in:\n\n- pixel at 1px will get the varying value as 0.0\n- pixel at 100px will get the varying value as 1.0\n- pixel at 50px will get the varying value as 0.5\n- pixel at 75px will get the varying value as 0.75\n\nLet's give it a try and draw a triangle!`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 1 * 3);\n  // gl.drawElements(gl.TRIANGLES, 2 * 3, gl.UNSIGNED_SHORT, 0);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/17/17.js",
    "content": "const BUFFERS = `{\n  \"position\": [\n    -0.8, 0.2,\n    0.8, 0.2,\n    0.8, -0.2,\n    -0.8, -0.2\n  ],\n  \"uv\": [\n    0.0, 0.0,\n    1.0, 0.0,\n    1.0, 1.0,\n    0.0, 1.0\n  ],\n  \"_index\": [\n    0, 1, 2,\n    0, 3, 2\n  ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"position\": { \"buffer\": \"position\", \"size\": 2 },\n  \"uv\": { \"buffer\": \"uv\", \"size\": 2 }\n}`;\n\nconst UNIFORMS = `{\n  \"uRed\": [1.0, 0.0, 0.0],\n  \"uBlack\": [0.0, 0.0, 0.0],\n  \"uBlue\": [0.0, 0.0, 1.0]\n}`;\n\nconst VERTEX = `attribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUv;\n\nvoid main() {\n  vUv = uv;\n  gl_Position = vec4(position, 0.0, 1.0);\n}`;\n\nconst SHOW_PIXELS = true;\nconst FRAGMENT = `precision highp float;\nvarying vec2 vUv;\nuniform vec3 uRed;\nuniform vec3 uBlack;\nuniform vec3 uBlue;\n\nvoid main() {\n  vec3 color = uRed;\n\n  if (vUv.x > 0.5) {\n    color = uBlue;\n  }\n\n  if (vUv.x > 0.75) {\n    color = uBlack;\n  }\n\n  gl_FragColor = vec4(color, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = false;\nconst TITLE = \"Human GPU #0017 - UV?\";\nconst TIPS = `Varyings are cool, don't you agree?\n\nEver heard of UV and UV maps?\nHere's a little taste of them!\n\nDraw two triangle and colour them!`;\n\nconst RUN = (gl) => {\n  // gl.drawArrays(gl.TRIANGLES, 0, 1 * 3);\n  gl.drawElements(gl.TRIANGLES, 2 * 3, gl.UNSIGNED_SHORT, 0);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 350px;\n}\n\n.canvas {\n  width: 80mm;\n  height: 80mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/2/2.js",
    "content": "const BUFFERS = `{\n  \"data\": [-0.5, -0.5, 0.0, 0.5, 0.5, -0.5]\n}`;\n\nconst ATTRIBUTES = `{\n  \"position\": { \"buffer\": \"data\", \"size\": 2 }\n}`;\n\nconst UNIFORMS = `{}`;\n\nconst VERTEX = `attribute vec2 position;\n\nvoid main() {\n  gl_Position = vec4(position, 0.0, 1.0);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0002 – Position attribute\";\nconst TIPS = `Wow man...you took AAAAGEEES to draw that first triangle...hopefully you will draw faster this time.\n\nThis time our attribute read two values at the time from our buffer, so it's a \\`vec2\\`. Attributes can be of type \\`float, vec2, vec3, vec4\\`.\n\nEven if you have a human brain, you can easily understand that float = 1 value, vec2 = 2 values, vec3 = 3 values...\n\nJust so you know, in our exercises we're going to use GLSL ES version 1.0 that ships with WebGL 1.0.\n\nI have added some annotation that should help you understand how attribute works.\n\nNow go, and draw me a triangle! Quick! Quick!`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\nmain::after {\n  content: '';\n    display: block;\n    position: absolute;\n    width: 300px;\n    height: 300px;\n    background-image: url(./exercises/2/annotation.svg);\n    z-index: 10;\n    top: 353px;\n    background-repeat: no-repeat;\n    left: 32px;\n    opacity: .3;\n    pointer-events: none;\n}\n\n.canvas {\n  width: 140mm;\n  height: 140mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/3/3.js",
    "content": "const BUFFERS = `{\n  \"p\": [-0.6, -0.3, -0.6, 0.3, 0.6, -0.3, -0.6, 0.3, 0.6, 0.3, 0.6, -0.3]\n}`;\n\nconst ATTRIBUTES = `{\n  \"pos\": { \"buffer\": \"p\", \"size\": 2 }\n}`;\n\nconst UNIFORMS = `{}`;\n\nconst VERTEX = `attribute vec2 pos;\n\nvoid main() {\n  vec2 newPos = pos * 1.5;\n  gl_Position = vec4(newPos, 0.0, 1.0);\n  \n  // gl_Position = vec4(newPos.xy, 0.0, 1.0);\n  // gl_Position = vec4(newPos.x, newPos.y, 0.0, 1.0);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0003 – Only triangle?\";\nconst TIPS = `Hello again human. I guess you're wondering...how do we draw other stuff then just triangles?\n\nWe can actually \"combine\" triangles together and draw any kind of stuff!\n\nTo make things more interesting, before using our attribute data, we are doing a small multiplication. Can you do multiplication human?\n\nYou see that I've added two alternative version of assigning our \\`gl_Position\\` variable. In GLSL types have some special property like swizzle (you can google \\`swizzle glsl\\` human).\n\nYou also see that we multiply a vec2 with a number, that's also possible with the glsl compiler, and with human brain glsl compiler as well.\n\nMultiplying a vec2 (or any vec*) with a scalar (fancy name for a number) results in multiplying each vec component.\n\nExample,\n\\`vec3(3, 9, 4) * 2 = vec3(6, 18, 8)\\`,\n\\`vec2(2, 3) * 3 = vec3(6, 9)\\`\n\n\nNow go and draw *TWO* triangles!`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 6);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/4/4.js",
    "content": "const BUFFERS = `{\n  \"data\": [\n    1.0, -0.5, 1.0, 0.1,\n    1.0, -0.3, 1.0, 0.0,\n    -0.5, 0.0, 4.0, 0.0\n  ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"d\": { \"buffer\": \"data\", \"size\": 4}\n}`;\n\nconst UNIFORMS = `{}`;\n\nconst VERTEX = `attribute vec4 d;\n\nvec2 position() {\n  return vec2(\n    d.y - d.w,\n    (d.x * d.z) / 2.0\n  );\n}\n\nvoid main() {\n  gl_Position = vec4(vec3(0.0), 1.0);\n  gl_Position.xy = position();\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0004 – Vecfour?\";\nconst TIPS = `Heeehe human goodmorning. How are you?\nI want to mess up your brain a little bit...\n\nIn GLSL you can create your own functions, like the \\`vec2 position\\` in this case.\n\nNow go and draw one triangle!`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/5/5.js",
    "content": "const BUFFERS = `{\n  \"buffer1\": [-0.4, -0.4, 0.4, 0.4, 0.5, -0.3],\n  \"buffer2\": [-0.4, 0.2, 0.0],\n  \"buffer3\": [1.0, 1.5, 0.5]\n}`;\n\nconst ATTRIBUTES = `{\n  \"position\": { \"buffer\": \"buffer1\", \"size\": 2 },\n  \"offset\": { \"buffer\": \"buffer2\", \"size\": 1 },\n  \"scale\": { \"buffer\": \"buffer3\", \"size\": 1 }\n}`;\n\nconst UNIFORMS = `{}`;\n\nconst VERTEX = `attribute vec2 position;\nattribute float offset;\nattribute float scale;\n\nvoid main() {\n  vec2 p = vec2(position);\n  p += offset;\n  p *= scale;\n\n  gl_Position = vec4(p, 0.0, 1.0);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0005 – Multiple attributes\";\nconst TIPS = `Heya human, of course you can have multiple attributes and buffers, like in this example.\n\nIt's up to our app how to structure and deliver data to our vertices.\n\nNow draw me a triangle, human!`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/6/6.js",
    "content": "const BUFFERS = `{\n  \"buffer1\": [\n    -0.4, -0.2, 0.2, 0.5, 0.3, -0.9,\n    -0.2, 0.4, 0.0,\n    1.0, 1.0, 0.5\n  ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"position\": { \"buffer\": \"buffer1\", \"size\": 2, \"offset\": 0 },\n  \"offset\": { \"buffer\": \"buffer1\", \"size\": 1, \"offset\": 6 },\n  \"scale\": { \"buffer\": \"buffer1\", \"size\": 1, \"offset\": 9 }\n}`;\n\nconst UNIFORMS = `{}`;\n\nconst VERTEX = `attribute vec2 position;\nattribute float offset;\nattribute float scale;\n\nvoid main() {\n  vec2 p = vec2(position);\n  p += offset;\n  p *= scale;\n\n  gl_Position = vec4(p, 0.0, 1.0);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0006 – Buffer + attribute pr0 l337\";\nconst TIPS = `Multiple attribute can read from the same buffer, like in this example.\n\nYou see that each attribute now has the \\`offset\\` property, means that will start reading from the buffer at index + offset.\n\n(To help you out human, i've formatted the buffer so that it's easier for you to read)\n\nTogether with \\`offset\\`, attributes have other property like:\n- type (in our exericises, we'll just use \\`gl.FLOAT\\`)\n- normalized (true/false)\n- stride\n\nTo be honest, it's bit rare for us GPU to see offset/stride used out in the while.\nMost of the time, one buffer is \"linked\" to one attribute.\nSo don't worry too much.\n\nBuffer too can have different property, like:\n- bind target (ARRAY_BUFFER or ELEMENT_ARRAY_BUFFER)\n- usage (like STATIC_DRAW, DYNAMIC_DRAW)\n\n\nHeya human, by now you should well understand how the relationship between buffer and attributes works.\n\nCan you draw a triangle for me?`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/7/7.js",
    "content": "const BUFFERS = `{\n  \"buffer1\": [\n    -6, 3, 0, -8, -4, 5,\n    0, -8, -4, 5, -1, 4,\n    -1, 4, 0, -8, 2, 5,\n    0, -8, 2, 5, 5, 4\n  ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"position\": { \"buffer\": \"buffer1\", \"size\": 2 }\n}`;\n\nconst UNIFORMS = `{}`;\n\nconst VERTEX = `attribute vec2 position;\n\nvoid main() {\n  gl_Position = vec4(position / 10.0, 0.0, 1.0);\n  gl_Position.y = max(-0.5, gl_Position.y);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0007 – Do you love GPU?\";\nconst TIPS = `Hey human, long time no see you...can you draw for me 4 triangles?\n\nIn GLSL there are some built-in functions, like \\`max\\`, which returns the larger of the two arguments.`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 4 * 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/8/8.js",
    "content": "const BUFFERS = `{\n  \"buffer1\": [\n    -0.1, -0.3,\n    -0.6, 0.3,\n    -0.4, 0.5,\n    -0.1, 0.1,\n    0.7, 0.8,\n    0.9, 0.6\n  ],\n  \"_index\": [\n    0, 1, 2,\n    0, 2, 3,\n    0, 3, 4,\n    0, 4, 5\n  ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"position\": { \"buffer\": \"buffer1\", \"size\": 2 }\n}`;\n\nconst UNIFORMS = `{}`;\n\nconst VERTEX = `attribute vec2 position;\n\nvoid main() {\n  gl_Position = vec4(position, 0.0, 1.0);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0008 – Less memory is good\";\nconst TIPS = `Gooodmorning human, how things are going so far?\n\nAlready tired of being a GPU? ahHAHahHAha\n\nAs you probably noticed in #0007, when drawing a shape using only triangles, a lot of point in space are overlapping and repeated.\n\nI want to introduce you the \"index elements drawing\", it's an optimisation that tries to reduce the size of your buffers.\n\nWhen you see this special buffer called \\'_index\\', means that, before reading from the buffer, you need to use the \\`_index\\` as lookup table.\n\nAdded some annotation to make you understand, aahh...poor humans.\n\nGive it a try and draw 4 triangles.`;\n\nconst RUN = (gl) => {\n  // gl.drawArrays(gl.TRIANGLES, 0, 4 * 3);\n  gl.drawElements(gl.TRIANGLES, 4 * 3, gl.UNSIGNED_SHORT, 0);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\nmain::after {\n  content: '';\n    display: block;\n    position: absolute;\n    width: 300px;\n    height: 300px;\n    background-image: url(./exercises/8/annotation.svg);\n    z-index: 10;\n    top: 397px;\n    background-repeat: no-repeat;\n    left: 45px;\n    opacity: .3;\n    pointer-events: none;\n}\n\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/exercises/9/9.js",
    "content": "const BUFFERS = `{\n  \"data\": [\n    -4, 4,\n    -7, -3,\n    -2, 3,\n    -2, 3,\n    -1, -2,\n    0, 3\n  ]\n}`;\n\nconst ATTRIBUTES = `{\n  \"position\": { \"buffer\": \"data\", \"size\": 2 }\n}`;\n\nconst UNIFORMS = `{\n  \"scale\": 2.0\n}`;\n\nconst VERTEX = `attribute vec2 position;\nuniform float scale;\n\nvoid main() {\n  vec2 pos = position / 10.0;\n  pos *= scale;\n  pos += vec2(.5, 0.0);\n\n  gl_Position = vec4(pos, 0.0, 1.0);\n}`;\n\nconst FRAGMENT = `precision highp float;\n\nvoid main() {\n  gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n}`;\n\nconst HIDE_FRAGMENT = true;\nconst TITLE = \"Human GPU #0009 – Uniforms\";\nconst TIPS = `Huuuuumaaan, today we are introducing uniforms!\nAs you can see we have a new \"box\" called Uniforms.\n\nThose are just constants that can be easily read in the shader via \\`uniform $type $name;\\`, where \\`$type\\` is usually \\`float, vec* or mat*\\`.\n\nUniforms are the best and fastest way to receive small bits of data in our shaders.\n\nShow me what you got! Draw me 2 triangles`;\n\nconst RUN = (gl) => {\n  gl.drawArrays(gl.TRIANGLES, 0, 2 * 3);\n};\n\nvar style = document.createElement(\"style\");\nstyle.innerHTML = `\n.box {\n  width: 400px;\n}\n\n.canvas {\n  width: 100mm;\n  height: 100mm;\n}\n`;\ndocument.head.appendChild(style);\n"
  },
  {
    "path": "src/html/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <link rel=\"stylesheet\" href=\"style.css\" />\n    <link rel=\"stylesheet\" href=\"./vendor/prism.css\" />\n    <title>Human GPU</title>\n  </head>\n  <body>\n    <page size=\"A4\">\n      <main>\n        <div class=\"box box-tips\">\n          <div class=\"box__title\" data-title>Human GPU</div>\n          <pre class=\"box__content\">\n<code class=\"language-markdown\" data-tips></code>\n          </pre>\n        </div>\n\n        <div class=\"box box-buffers\">\n          <div class=\"box__title\">Buffers</div>\n          <pre class=\"box__content\">\n<code class=\"language-javascript\" data-buffers></code>\n          </pre>\n        </div>\n        <!-- box -->\n\n        <div class=\"box box-attributes\">\n          <div class=\"box__title\">Attributes</div>\n          <pre class=\"box__content\">\n<code class=\"language-javascript\" data-attributes></code>\n          </pre>\n        </div>\n        <!-- box -->\n\n        <div class=\"box box-uniforms\">\n          <div class=\"box__title\">Uniforms</div>\n          <pre class=\"box__content\">\n<code class=\"language-javascript\" data-uniforms></code>\n          </pre>\n        </div>\n        <!-- box -->\n\n        <div class=\"box box-vertex\">\n          <div class=\"box__title\">Vertex shader</div>\n          <pre class=\"box__content\">\n<code class=\"language-glsl\" data-vertex></code>\n            </pre>\n        </div>\n\n        <div class=\"box box-fragment\">\n          <div class=\"box__title\">Fragment shader</div>\n          <pre class=\"box__content\">\n<code class=\"language-glsl\" data-fragment></code>\n            </pre>\n        </div>\n\n        <div class=\"canvas\">\n          <canvas class=\"canvas__frame\"></canvas>\n          <div class=\"canvas__layer-x\">\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n          </div>\n\n          <div class=\"canvas__layer-y\">\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n            <span></span>\n          </div>\n\n          <div class=\"canvas__pixels\">\n            <div class=\"horizontal\"></div>\n\n            <div class=\"vertical\"></div>\n          </div>\n\n          <span class=\"legend legend-center\">(0, 0)</span>\n          <span class=\"legend legend-topleft\">(-1, 1)</span>\n          <span class=\"legend legend-topright\">(1, 1)</span>\n          <span class=\"legend legend-bottomright\">(1, -1)</span>\n          <span class=\"legend legend-bottomleft\">(-1, -1)</span>\n        </div>\n\n        <!-- <p class=\"title\">Human GPU #0001</p> -->\n      </main>\n    </page>\n\n    <script src=\"./vendor/isotope.js\"></script>\n    <script src=\"./vendor/fit-columns.js\"></script>\n    <script>\n      function run() {\n        // update view\n        const root = document.querySelector(\"main\");\n\n        if (typeof SHOW_PIXELS !== \"undefined\") {\n          const ph = root.querySelector(\".canvas__pixels .horizontal\");\n          const pv = root.querySelector(\".canvas__pixels .vertical\");\n          const n = 61;\n\n          for (let i = 0; i < n; i++) {\n            ph.appendChild(document.createElement(\"span\"));\n          }\n\n          for (let i = 0; i < n; i++) {\n            pv.appendChild(document.createElement(\"span\"));\n          }\n        }\n\n        root.querySelector(\"[data-buffers]\").innerHTML = BUFFERS;\n        root.querySelector(\"[data-attributes]\").innerHTML = ATTRIBUTES;\n        root.querySelector(\"[data-uniforms]\").innerHTML = UNIFORMS;\n\n        // root.querySelector(\"[data-fragment]\").innerHTML = FRAGMENT;\n        root.querySelector(\"[data-vertex]\").innerHTML = VERTEX;\n        root.querySelector(\"[data-fragment]\").innerHTML = FRAGMENT;\n        root.querySelector(\"[data-title]\").innerHTML = TITLE;\n        root.querySelector(\"[data-tips]\").innerHTML = TIPS;\n\n        let prism = document.createElement(\"script\");\n        prism.src = `./vendor/prism.js`;\n\n        document.head.appendChild(prism);\n\n        // start real deal\n        const $canvas = document.querySelector(\".canvas__frame\");\n        const gl = $canvas.getContext(\"webgl\", {\n          preserveDrawingBuffer: true,\n        });\n\n        const WIDTH = $canvas.getBoundingClientRect().width;\n        const HEIGHT = $canvas.getBoundingClientRect().height;\n\n        const _ATTRIBUTES = JSON.parse(ATTRIBUTES);\n        const _BUFFERS = JSON.parse(BUFFERS);\n        const _UNIFORMS = JSON.parse(UNIFORMS);\n\n        $canvas.width = WIDTH;\n        $canvas.height = HEIGHT;\n\n        gl.viewport(0, 0, WIDTH, HEIGHT);\n\n        if (!Object.keys(_UNIFORMS).length) {\n          root.removeChild(root.querySelector(\".box-uniforms\"));\n        }\n\n        if (HIDE_FRAGMENT) {\n          root.removeChild(root.querySelector(\".box-fragment\"));\n        }\n\n        let iso = new Isotope(root, {\n          layoutMode: \"fitColumns\",\n          itemSeletor: \".box\",\n          transitionDuration: 0,\n        });\n\n        window.setTimeout(() => {\n          // $(\"main\").isotope(\"layout\");\n          iso.layout();\n        }, 500);\n\n        function compileShader(gl, shaderSource, shaderType) {\n          var shader = gl.createShader(shaderType);\n          gl.shaderSource(shader, shaderSource);\n          gl.compileShader(shader);\n\n          var success = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n          if (!success) {\n            throw \"could not compile shader:\" + gl.getShaderInfoLog(shader);\n          }\n\n          return shader;\n        }\n\n        const vs = compileShader(gl, VERTEX, gl.VERTEX_SHADER);\n        const fs = compileShader(gl, FRAGMENT, gl.FRAGMENT_SHADER);\n        const program = gl.createProgram();\n        gl.attachShader(program, vs);\n        gl.attachShader(program, fs);\n        gl.linkProgram(program);\n        gl.useProgram(program);\n\n        for (const attribName in _ATTRIBUTES) {\n          const fattrib = _ATTRIBUTES[attribName];\n          const fbuffer = _BUFFERS[fattrib.buffer];\n\n          const buffer = gl.createBuffer();\n\n          gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n          gl.bufferData(\n            gl.ARRAY_BUFFER,\n            new Float32Array(fbuffer),\n            gl.STATIC_DRAW\n          );\n\n          const location = gl.getAttribLocation(program, attribName);\n          gl.enableVertexAttribArray(location);\n\n          const stride = 0;\n          const offset = fattrib.offset || 0;\n\n          gl.vertexAttribPointer(\n            location,\n            fattrib.size,\n            gl.FLOAT,\n            false,\n            stride,\n            offset * 4 // 4 byte for float\n          );\n        }\n\n        if (_BUFFERS[\"_index\"]) {\n          let indexBuffer = gl.createBuffer();\n          gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexBuffer);\n          gl.bufferData(\n            gl.ELEMENT_ARRAY_BUFFER,\n            new Uint16Array(_BUFFERS[\"_index\"]),\n            gl.STATIC_DRAW\n          );\n        }\n\n        for (i in _UNIFORMS) {\n          const loc = gl.getUniformLocation(program, i);\n          const value = _UNIFORMS[i];\n\n          if (value.length == 3) {\n            gl.uniform3fv(loc, value);\n          } else if (value.length == 2) {\n            gl.uniform2fv(loc, value);\n          } else {\n            gl.uniform1f(loc, value);\n          }\n        }\n\n        gl.clearColor(1, 1, 1, 0);\n        gl.clear(gl.COLOR_BUFFER_BIT);\n\n        if (!window.location.search.match(/hide/)) {\n          RUN && RUN(gl);\n        }\n      }\n    </script>\n\n    <script>\n      var toload = \"1\";\n      var mat = document.location.search.match(/n=(\\d*)/);\n      if (mat && mat[1]) {\n        toload = mat[1];\n      }\n\n      let script = document.createElement(\"script\");\n      script.src = `./exercises/${toload}/${toload}.js`;\n      script.onload = () => {\n        run();\n      };\n\n      document.head.appendChild(script);\n    </script>\n  </body>\n</html>\n"
  },
  {
    "path": "src/html/style.css",
    "content": "@import url(\"https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap\");\n\n@page {\n  size: A4 landscape;\n}\n\nbody {\n  background: rgb(204, 204, 204);\n}\n\npage[size=\"A4\"] {\n  background: white;\n  height: 21cm;\n  width: 29.7cm;\n  display: block;\n  margin: 0 auto;\n  margin-bottom: 0.5cm;\n  box-shadow: 0 0 0.5cm rgba(0, 0, 0, 0.5);\n}\n\n@media print {\n  body,\n  page[size=\"A4\"] {\n    margin: 0;\n    box-shadow: 0;\n  }\n\n  * {\n    box-shadow: 0 !important;\n  }\n}\n\nhtml,\nbody {\n  margin: 0;\n  padding: 0;\n  font-family: \"Courier New\", Courier, monospace;\n  font-family: \"Roboto\", sans-serif;\n  -webkit-print-color-adjust: exact;\n}\n\n* {\n  box-sizing: border-box;\n}\n\nmain {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  /* width: 1169px;\n  height: 826px; */\n  padding: 10mm;\n  /* columns: 1;\n  padding-right: 336px; */\n  /* padding-right: 130mm; */\n  /* padding-right: 180mm; */\n  /* border: 1px solid black; */\n}\n\nmain > * {\n  /* -webkit-column-break-inside: avoid;\n  page-break-inside: avoid;\n  break-inside: avoid;\n  margin-bottom: 10px; */\n  /* width: 100mm; */\n}\n\n.box {\n  width: 350px;\n  margin-bottom: 20px;\n  margin-right: 20px;\n}\n\ncode {\n  white-space: break-spaces !important;\n}\n\n/* box */\n.box {\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 2.5mm;\n  overflow: hidden;\n}\n\n.box pre {\n  margin: 0 !important;\n}\n\n.box__title {\n  /* border-bottom: 1px dotted black; */\n  font-size: 12px;\n  padding: 1.8mm;\n  text-align: center;\n  font-style: italic;\n  /* font-weight: 600; */\n}\n\n/* canvas */\n.canvas {\n  position: absolute;\n  top: 10mm;\n  right: 10mm;\n  width: 100mm;\n  height: 100mm;\n  border: 1px solid rgba(0, 0, 0, 0.3);\n  border-radius: 7px;\n}\n\n.canvas .legend {\n  position: absolute;\n  letter-spacing: 0.1mm;\n  font-size: 3mm;\n  margin-top: 3px;\n  margin-left: 3px;\n}\n\n.legend-center {\n  left: 50%;\n  top: 50%;\n}\n\n.legend-topleft {\n  top: 3px;\n  left: 3px;\n}\n\n.legend-topright {\n  top: 3px;\n  right: 3px;\n}\n\n.legend-bottomright {\n  bottom: 3px;\n  right: 3px;\n}\n\n.legend-bottomleft {\n  bottom: 3px;\n  left: 3px;\n}\n\n.canvas__layer-x {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  display: flex;\n  justify-content: space-between;\n}\n\n.canvas__layer-x span {\n  height: 100%;\n  border-left: 1px dotted black;\n  opacity: 0.5;\n}\n\n.canvas__layer-x span:nth-child(1),\n.canvas__layer-x span:nth-child(21) {\n  opacity: 0;\n}\n\n.canvas__layer-x span:nth-child(11) {\n  opacity: 1;\n  border-left: 1px solid black;\n}\n\n.canvas__layer-y {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  display: flex;\n  justify-content: space-between;\n  flex-direction: column;\n}\n\n.canvas__layer-y span {\n  width: 100%;\n  border-top: 1px dotted black;\n  opacity: 0.5;\n}\n\n.canvas__layer-y span:nth-child(1),\n.canvas__layer-y span:nth-child(21) {\n  opacity: 0;\n}\n\n.canvas__layer-y span:nth-child(11) {\n  opacity: 1;\n  border-top: 1px solid black;\n}\n\n.canvas__pixels {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n}\n\n.canvas__pixels .horizontal,\n.canvas__pixels .vertical {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  display: flex;\n  justify-content: space-between;\n}\n\n.canvas__pixels .vertical {\n  flex-direction: column;\n}\n\n.canvas__pixels .horizontal span {\n  opacity: 1;\n  border-left: 1px solid rgba(255, 0, 0, 0.1);\n}\n\n.canvas__pixels .horizontal span:first-child,\n.canvas__pixels .horizontal span:last-child {\n  opacity: 0;\n}\n\n.canvas__pixels .vertical span {\n  opacity: 1;\n  border-top: 1px solid rgba(255, 0, 0, 0.1);\n}\n\n.canvas__pixels .vertical span:first-child,\n.canvas__pixels .vertical span:last-child {\n  opacity: 0;\n}\n\n.canvas__frame {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  z-index: 5;\n}\n\n.title {\n  position: absolute;\n  bottom: 3mm;\n  right: 3mm;\n  display: inline;\n  width: auto;\n  margin: 0;\n  writing-mode: vertical-rl;\n  text-orientation: mixed;\n  transform: rotate(180deg);\n  font-size: 8px;\n}\n"
  },
  {
    "path": "src/html/vendor/fit-columns.js",
    "content": "/*!\n * fitColumns layout mode for Isotope\n * v1.1.4\n * https://isotope.metafizzy.co/layout-modes/fitcolumns.html\n */\n\n/*jshint browser: true, devel: false, strict: true, undef: true, unused: true */\n\n(function (window, factory) {\n  // universal module definition\n  /* jshint strict: false */ /*globals define, module, require */\n  if (typeof define === \"function\" && define.amd) {\n    // AMD\n    define([\"isotope-layout/js/layout-mode\"], factory);\n  } else if (typeof exports === \"object\") {\n    // CommonJS\n    module.exports = factory(require(\"isotope-layout/js/layout-mode\"));\n  } else {\n    // browser global\n    factory(window.Isotope.LayoutMode);\n  }\n})(window, function factory(LayoutMode) {\n  \"use strict\";\n\n  var FitColumns = LayoutMode.create(\"fitColumns\");\n  var proto = FitColumns.prototype;\n\n  proto._resetLayout = function () {\n    this.x = 0;\n    this.y = 0;\n    this.maxX = 0;\n  };\n\n  proto._getItemLayoutPosition = function (item) {\n    item.getSize();\n\n    // if this element cannot fit in the current row\n    if (\n      this.y !== 0 &&\n      item.size.outerHeight + this.y > this.isotope.size.innerHeight\n    ) {\n      this.y = 0;\n      this.x = this.maxX;\n    }\n\n    var position = {\n      x: this.x,\n      y: this.y,\n    };\n\n    this.maxX = Math.max(this.maxX, this.x + item.size.outerWidth);\n    this.y += item.size.outerHeight;\n\n    return position;\n  };\n\n  proto._getContainerSize = function () {\n    return { width: this.maxX };\n  };\n\n  proto.needsResizeLayout = function () {\n    return this.needsVerticalResizeLayout();\n  };\n\n  return FitColumns;\n});\n"
  },
  {
    "path": "src/html/vendor/isotope.js",
    "content": "/*!\n * Isotope PACKAGED v3.0.6\n *\n * Licensed GPLv3 for open source use\n * or Isotope Commercial License for commercial use\n *\n * https://isotope.metafizzy.co\n * Copyright 2010-2018 Metafizzy\n */\n\n/**\n * Bridget makes jQuery widgets\n * v2.0.1\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n\n(function (window, factory) {\n  // universal module definition\n  /*jshint strict: false */ /* globals define, module, require */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"jquery-bridget/jquery-bridget\", [\"jquery\"], function (jQuery) {\n      return factory(window, jQuery);\n    });\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory(window, require(\"jquery\"));\n  } else {\n    // browser global\n    window.jQueryBridget = factory(window, window.jQuery);\n  }\n})(window, function factory(window, jQuery) {\n  \"use strict\";\n\n  // ----- utils ----- //\n\n  var arraySlice = Array.prototype.slice;\n\n  // helper function for logging errors\n  // $.error breaks jQuery chaining\n  var console = window.console;\n  var logError =\n    typeof console == \"undefined\"\n      ? function () {}\n      : function (message) {\n          console.error(message);\n        };\n\n  // ----- jQueryBridget ----- //\n\n  function jQueryBridget(namespace, PluginClass, $) {\n    $ = $ || jQuery || window.jQuery;\n    if (!$) {\n      return;\n    }\n\n    // add option method -> $().plugin('option', {...})\n    if (!PluginClass.prototype.option) {\n      // option setter\n      PluginClass.prototype.option = function (opts) {\n        // bail out if not an object\n        if (!$.isPlainObject(opts)) {\n          return;\n        }\n        this.options = $.extend(true, this.options, opts);\n      };\n    }\n\n    // make jQuery plugin\n    $.fn[namespace] = function (arg0 /*, arg1 */) {\n      if (typeof arg0 == \"string\") {\n        // method call $().plugin( 'methodName', { options } )\n        // shift arguments by 1\n        var args = arraySlice.call(arguments, 1);\n        return methodCall(this, arg0, args);\n      }\n      // just $().plugin({ options })\n      plainCall(this, arg0);\n      return this;\n    };\n\n    // $().plugin('methodName')\n    function methodCall($elems, methodName, args) {\n      var returnValue;\n      var pluginMethodStr = \"$().\" + namespace + '(\"' + methodName + '\")';\n\n      $elems.each(function (i, elem) {\n        // get instance\n        var instance = $.data(elem, namespace);\n        if (!instance) {\n          logError(\n            namespace +\n              \" not initialized. Cannot call methods, i.e. \" +\n              pluginMethodStr\n          );\n          return;\n        }\n\n        var method = instance[methodName];\n        if (!method || methodName.charAt(0) == \"_\") {\n          logError(pluginMethodStr + \" is not a valid method\");\n          return;\n        }\n\n        // apply method, get return value\n        var value = method.apply(instance, args);\n        // set return value if value is returned, use only first value\n        returnValue = returnValue === undefined ? value : returnValue;\n      });\n\n      return returnValue !== undefined ? returnValue : $elems;\n    }\n\n    function plainCall($elems, options) {\n      $elems.each(function (i, elem) {\n        var instance = $.data(elem, namespace);\n        if (instance) {\n          // set options & init\n          instance.option(options);\n          instance._init();\n        } else {\n          // initialize new instance\n          instance = new PluginClass(elem, options);\n          $.data(elem, namespace, instance);\n        }\n      });\n    }\n\n    updateJQuery($);\n  }\n\n  // ----- updateJQuery ----- //\n\n  // set $.bridget for v1 backwards compatibility\n  function updateJQuery($) {\n    if (!$ || ($ && $.bridget)) {\n      return;\n    }\n    $.bridget = jQueryBridget;\n  }\n\n  updateJQuery(jQuery || window.jQuery);\n\n  // -----  ----- //\n\n  return jQueryBridget;\n});\n\n/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n(function (global, factory) {\n  // universal module definition\n  /* jshint strict: false */ /* globals define, module, window */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD - RequireJS\n    define(\"ev-emitter/ev-emitter\", factory);\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS - Browserify, Webpack\n    module.exports = factory();\n  } else {\n    // Browser globals\n    global.EvEmitter = factory();\n  }\n})(typeof window != \"undefined\" ? window : this, function () {\n  function EvEmitter() {}\n\n  var proto = EvEmitter.prototype;\n\n  proto.on = function (eventName, listener) {\n    if (!eventName || !listener) {\n      return;\n    }\n    // set events hash\n    var events = (this._events = this._events || {});\n    // set listeners array\n    var listeners = (events[eventName] = events[eventName] || []);\n    // only add once\n    if (listeners.indexOf(listener) == -1) {\n      listeners.push(listener);\n    }\n\n    return this;\n  };\n\n  proto.once = function (eventName, listener) {\n    if (!eventName || !listener) {\n      return;\n    }\n    // add event\n    this.on(eventName, listener);\n    // set once flag\n    // set onceEvents hash\n    var onceEvents = (this._onceEvents = this._onceEvents || {});\n    // set onceListeners object\n    var onceListeners = (onceEvents[eventName] = onceEvents[eventName] || {});\n    // set flag\n    onceListeners[listener] = true;\n\n    return this;\n  };\n\n  proto.off = function (eventName, listener) {\n    var listeners = this._events && this._events[eventName];\n    if (!listeners || !listeners.length) {\n      return;\n    }\n    var index = listeners.indexOf(listener);\n    if (index != -1) {\n      listeners.splice(index, 1);\n    }\n\n    return this;\n  };\n\n  proto.emitEvent = function (eventName, args) {\n    var listeners = this._events && this._events[eventName];\n    if (!listeners || !listeners.length) {\n      return;\n    }\n    // copy over to avoid interference if .off() in listener\n    listeners = listeners.slice(0);\n    args = args || [];\n    // once stuff\n    var onceListeners = this._onceEvents && this._onceEvents[eventName];\n\n    for (var i = 0; i < listeners.length; i++) {\n      var listener = listeners[i];\n      var isOnce = onceListeners && onceListeners[listener];\n      if (isOnce) {\n        // remove listener\n        // remove before trigger to prevent recursion\n        this.off(eventName, listener);\n        // unset once flag\n        delete onceListeners[listener];\n      }\n      // trigger listener\n      listener.apply(this, args);\n    }\n\n    return this;\n  };\n\n  proto.allOff = function () {\n    delete this._events;\n    delete this._onceEvents;\n  };\n\n  return EvEmitter;\n});\n\n/*!\n * getSize v2.0.3\n * measure size of elements\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n/* globals console: false */\n\n(function (window, factory) {\n  /* jshint strict: false */ /* globals define, module */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"get-size/get-size\", factory);\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory();\n  } else {\n    // browser global\n    window.getSize = factory();\n  }\n})(window, function factory() {\n  \"use strict\";\n\n  // -------------------------- helpers -------------------------- //\n\n  // get a number from a string, not a percentage\n  function getStyleSize(value) {\n    var num = parseFloat(value);\n    // not a percent like '100%', and a number\n    var isValid = value.indexOf(\"%\") == -1 && !isNaN(num);\n    return isValid && num;\n  }\n\n  function noop() {}\n\n  var logError =\n    typeof console == \"undefined\"\n      ? noop\n      : function (message) {\n          console.error(message);\n        };\n\n  // -------------------------- measurements -------------------------- //\n\n  var measurements = [\n    \"paddingLeft\",\n    \"paddingRight\",\n    \"paddingTop\",\n    \"paddingBottom\",\n    \"marginLeft\",\n    \"marginRight\",\n    \"marginTop\",\n    \"marginBottom\",\n    \"borderLeftWidth\",\n    \"borderRightWidth\",\n    \"borderTopWidth\",\n    \"borderBottomWidth\",\n  ];\n\n  var measurementsLength = measurements.length;\n\n  function getZeroSize() {\n    var size = {\n      width: 0,\n      height: 0,\n      innerWidth: 0,\n      innerHeight: 0,\n      outerWidth: 0,\n      outerHeight: 0,\n    };\n    for (var i = 0; i < measurementsLength; i++) {\n      var measurement = measurements[i];\n      size[measurement] = 0;\n    }\n    return size;\n  }\n\n  // -------------------------- getStyle -------------------------- //\n\n  /**\n   * getStyle, get style of element, check for Firefox bug\n   * https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n   */\n  function getStyle(elem) {\n    var style = getComputedStyle(elem);\n    if (!style) {\n      logError(\n        \"Style returned \" +\n          style +\n          \". Are you running this code in a hidden iframe on Firefox? \" +\n          \"See https://bit.ly/getsizebug1\"\n      );\n    }\n    return style;\n  }\n\n  // -------------------------- setup -------------------------- //\n\n  var isSetup = false;\n\n  var isBoxSizeOuter;\n\n  /**\n   * setup\n   * check isBoxSizerOuter\n   * do on first getSize() rather than on page load for Firefox bug\n   */\n  function setup() {\n    // setup once\n    if (isSetup) {\n      return;\n    }\n    isSetup = true;\n\n    // -------------------------- box sizing -------------------------- //\n\n    /**\n     * Chrome & Safari measure the outer-width on style.width on border-box elems\n     * IE11 & Firefox<29 measures the inner-width\n     */\n    var div = document.createElement(\"div\");\n    div.style.width = \"200px\";\n    div.style.padding = \"1px 2px 3px 4px\";\n    div.style.borderStyle = \"solid\";\n    div.style.borderWidth = \"1px 2px 3px 4px\";\n    div.style.boxSizing = \"border-box\";\n\n    var body = document.body || document.documentElement;\n    body.appendChild(div);\n    var style = getStyle(div);\n    // round value for browser zoom. desandro/masonry#928\n    isBoxSizeOuter = Math.round(getStyleSize(style.width)) == 200;\n    getSize.isBoxSizeOuter = isBoxSizeOuter;\n\n    body.removeChild(div);\n  }\n\n  // -------------------------- getSize -------------------------- //\n\n  function getSize(elem) {\n    setup();\n\n    // use querySeletor if elem is string\n    if (typeof elem == \"string\") {\n      elem = document.querySelector(elem);\n    }\n\n    // do not proceed on non-objects\n    if (!elem || typeof elem != \"object\" || !elem.nodeType) {\n      return;\n    }\n\n    var style = getStyle(elem);\n\n    // if hidden, everything is 0\n    if (style.display == \"none\") {\n      return getZeroSize();\n    }\n\n    var size = {};\n    size.width = elem.offsetWidth;\n    size.height = elem.offsetHeight;\n\n    var isBorderBox = (size.isBorderBox = style.boxSizing == \"border-box\");\n\n    // get all measurements\n    for (var i = 0; i < measurementsLength; i++) {\n      var measurement = measurements[i];\n      var value = style[measurement];\n      var num = parseFloat(value);\n      // any 'auto', 'medium' value will be 0\n      size[measurement] = !isNaN(num) ? num : 0;\n    }\n\n    var paddingWidth = size.paddingLeft + size.paddingRight;\n    var paddingHeight = size.paddingTop + size.paddingBottom;\n    var marginWidth = size.marginLeft + size.marginRight;\n    var marginHeight = size.marginTop + size.marginBottom;\n    var borderWidth = size.borderLeftWidth + size.borderRightWidth;\n    var borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n    var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n    // overwrite width and height if we can get it from style\n    var styleWidth = getStyleSize(style.width);\n    if (styleWidth !== false) {\n      size.width =\n        styleWidth +\n        // add padding and border unless it's already including it\n        (isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth);\n    }\n\n    var styleHeight = getStyleSize(style.height);\n    if (styleHeight !== false) {\n      size.height =\n        styleHeight +\n        // add padding and border unless it's already including it\n        (isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight);\n    }\n\n    size.innerWidth = size.width - (paddingWidth + borderWidth);\n    size.innerHeight = size.height - (paddingHeight + borderHeight);\n\n    size.outerWidth = size.width + marginWidth;\n    size.outerHeight = size.height + marginHeight;\n\n    return size;\n  }\n\n  return getSize;\n});\n\n/**\n * matchesSelector v2.0.2\n * matchesSelector( element, '.selector' )\n * MIT license\n */\n\n/*jshint browser: true, strict: true, undef: true, unused: true */\n\n(function (window, factory) {\n  /*global define: false, module: false */\n  \"use strict\";\n  // universal module definition\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"desandro-matches-selector/matches-selector\", factory);\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory();\n  } else {\n    // browser global\n    window.matchesSelector = factory();\n  }\n})(window, function factory() {\n  \"use strict\";\n\n  var matchesMethod = (function () {\n    var ElemProto = window.Element.prototype;\n    // check for the standard method name first\n    if (ElemProto.matches) {\n      return \"matches\";\n    }\n    // check un-prefixed\n    if (ElemProto.matchesSelector) {\n      return \"matchesSelector\";\n    }\n    // check vendor prefixes\n    var prefixes = [\"webkit\", \"moz\", \"ms\", \"o\"];\n\n    for (var i = 0; i < prefixes.length; i++) {\n      var prefix = prefixes[i];\n      var method = prefix + \"MatchesSelector\";\n      if (ElemProto[method]) {\n        return method;\n      }\n    }\n  })();\n\n  return function matchesSelector(elem, selector) {\n    return elem[matchesMethod](selector);\n  };\n});\n\n/**\n * Fizzy UI utils v2.0.7\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\n(function (window, factory) {\n  // universal module definition\n  /*jshint strict: false */ /*globals define, module, require */\n\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"fizzy-ui-utils/utils\", [\n      \"desandro-matches-selector/matches-selector\",\n    ], function (matchesSelector) {\n      return factory(window, matchesSelector);\n    });\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory(window, require(\"desandro-matches-selector\"));\n  } else {\n    // browser global\n    window.fizzyUIUtils = factory(window, window.matchesSelector);\n  }\n})(window, function factory(window, matchesSelector) {\n  var utils = {};\n\n  // ----- extend ----- //\n\n  // extends objects\n  utils.extend = function (a, b) {\n    for (var prop in b) {\n      a[prop] = b[prop];\n    }\n    return a;\n  };\n\n  // ----- modulo ----- //\n\n  utils.modulo = function (num, div) {\n    return ((num % div) + div) % div;\n  };\n\n  // ----- makeArray ----- //\n\n  var arraySlice = Array.prototype.slice;\n\n  // turn element or nodeList into an array\n  utils.makeArray = function (obj) {\n    if (Array.isArray(obj)) {\n      // use object if already an array\n      return obj;\n    }\n    // return empty array if undefined or null. #6\n    if (obj === null || obj === undefined) {\n      return [];\n    }\n\n    var isArrayLike = typeof obj == \"object\" && typeof obj.length == \"number\";\n    if (isArrayLike) {\n      // convert nodeList to array\n      return arraySlice.call(obj);\n    }\n\n    // array of single index\n    return [obj];\n  };\n\n  // ----- removeFrom ----- //\n\n  utils.removeFrom = function (ary, obj) {\n    var index = ary.indexOf(obj);\n    if (index != -1) {\n      ary.splice(index, 1);\n    }\n  };\n\n  // ----- getParent ----- //\n\n  utils.getParent = function (elem, selector) {\n    while (elem.parentNode && elem != document.body) {\n      elem = elem.parentNode;\n      if (matchesSelector(elem, selector)) {\n        return elem;\n      }\n    }\n  };\n\n  // ----- getQueryElement ----- //\n\n  // use element as selector string\n  utils.getQueryElement = function (elem) {\n    if (typeof elem == \"string\") {\n      return document.querySelector(elem);\n    }\n    return elem;\n  };\n\n  // ----- handleEvent ----- //\n\n  // enable .ontype to trigger from .addEventListener( elem, 'type' )\n  utils.handleEvent = function (event) {\n    var method = \"on\" + event.type;\n    if (this[method]) {\n      this[method](event);\n    }\n  };\n\n  // ----- filterFindElements ----- //\n\n  utils.filterFindElements = function (elems, selector) {\n    // make array of elems\n    elems = utils.makeArray(elems);\n    var ffElems = [];\n\n    elems.forEach(function (elem) {\n      // check that elem is an actual element\n      if (!(elem instanceof HTMLElement)) {\n        return;\n      }\n      // add elem if no selector\n      if (!selector) {\n        ffElems.push(elem);\n        return;\n      }\n      // filter & find items if we have a selector\n      // filter\n      if (matchesSelector(elem, selector)) {\n        ffElems.push(elem);\n      }\n      // find children\n      var childElems = elem.querySelectorAll(selector);\n      // concat childElems to filterFound array\n      for (var i = 0; i < childElems.length; i++) {\n        ffElems.push(childElems[i]);\n      }\n    });\n\n    return ffElems;\n  };\n\n  // ----- debounceMethod ----- //\n\n  utils.debounceMethod = function (_class, methodName, threshold) {\n    threshold = threshold || 100;\n    // original method\n    var method = _class.prototype[methodName];\n    var timeoutName = methodName + \"Timeout\";\n\n    _class.prototype[methodName] = function () {\n      var timeout = this[timeoutName];\n      clearTimeout(timeout);\n\n      var args = arguments;\n      var _this = this;\n      this[timeoutName] = setTimeout(function () {\n        method.apply(_this, args);\n        delete _this[timeoutName];\n      }, threshold);\n    };\n  };\n\n  // ----- docReady ----- //\n\n  utils.docReady = function (callback) {\n    var readyState = document.readyState;\n    if (readyState == \"complete\" || readyState == \"interactive\") {\n      // do async to allow for other scripts to run. metafizzy/flickity#441\n      setTimeout(callback);\n    } else {\n      document.addEventListener(\"DOMContentLoaded\", callback);\n    }\n  };\n\n  // ----- htmlInit ----- //\n\n  // http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/\n  utils.toDashed = function (str) {\n    return str\n      .replace(/(.)([A-Z])/g, function (match, $1, $2) {\n        return $1 + \"-\" + $2;\n      })\n      .toLowerCase();\n  };\n\n  var console = window.console;\n  /**\n   * allow user to initialize classes via [data-namespace] or .js-namespace class\n   * htmlInit( Widget, 'widgetName' )\n   * options are parsed from data-namespace-options\n   */\n  utils.htmlInit = function (WidgetClass, namespace) {\n    utils.docReady(function () {\n      var dashedNamespace = utils.toDashed(namespace);\n      var dataAttr = \"data-\" + dashedNamespace;\n      var dataAttrElems = document.querySelectorAll(\"[\" + dataAttr + \"]\");\n      var jsDashElems = document.querySelectorAll(\".js-\" + dashedNamespace);\n      var elems = utils\n        .makeArray(dataAttrElems)\n        .concat(utils.makeArray(jsDashElems));\n      var dataOptionsAttr = dataAttr + \"-options\";\n      var jQuery = window.jQuery;\n\n      elems.forEach(function (elem) {\n        var attr =\n          elem.getAttribute(dataAttr) || elem.getAttribute(dataOptionsAttr);\n        var options;\n        try {\n          options = attr && JSON.parse(attr);\n        } catch (error) {\n          // log error, do not initialize\n          if (console) {\n            console.error(\n              \"Error parsing \" +\n                dataAttr +\n                \" on \" +\n                elem.className +\n                \": \" +\n                error\n            );\n          }\n          return;\n        }\n        // initialize\n        var instance = new WidgetClass(elem, options);\n        // make available via $().data('namespace')\n        if (jQuery) {\n          jQuery.data(elem, namespace, instance);\n        }\n      });\n    });\n  };\n\n  // -----  ----- //\n\n  return utils;\n});\n\n/**\n * Outlayer Item\n */\n\n(function (window, factory) {\n  // universal module definition\n  /* jshint strict: false */ /* globals define, module, require */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD - RequireJS\n    define(\"outlayer/item\", [\n      \"ev-emitter/ev-emitter\",\n      \"get-size/get-size\",\n    ], factory);\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS - Browserify, Webpack\n    module.exports = factory(require(\"ev-emitter\"), require(\"get-size\"));\n  } else {\n    // browser global\n    window.Outlayer = {};\n    window.Outlayer.Item = factory(window.EvEmitter, window.getSize);\n  }\n})(window, function factory(EvEmitter, getSize) {\n  \"use strict\";\n\n  // ----- helpers ----- //\n\n  function isEmptyObj(obj) {\n    for (var prop in obj) {\n      return false;\n    }\n    prop = null;\n    return true;\n  }\n\n  // -------------------------- CSS3 support -------------------------- //\n\n  var docElemStyle = document.documentElement.style;\n\n  var transitionProperty =\n    typeof docElemStyle.transition == \"string\"\n      ? \"transition\"\n      : \"WebkitTransition\";\n  var transformProperty =\n    typeof docElemStyle.transform == \"string\" ? \"transform\" : \"WebkitTransform\";\n\n  var transitionEndEvent = {\n    WebkitTransition: \"webkitTransitionEnd\",\n    transition: \"transitionend\",\n  }[transitionProperty];\n\n  // cache all vendor properties that could have vendor prefix\n  var vendorProperties = {\n    transform: transformProperty,\n    transition: transitionProperty,\n    transitionDuration: transitionProperty + \"Duration\",\n    transitionProperty: transitionProperty + \"Property\",\n    transitionDelay: transitionProperty + \"Delay\",\n  };\n\n  // -------------------------- Item -------------------------- //\n\n  function Item(element, layout) {\n    if (!element) {\n      return;\n    }\n\n    this.element = element;\n    // parent layout class, i.e. Masonry, Isotope, or Packery\n    this.layout = layout;\n    this.position = {\n      x: 0,\n      y: 0,\n    };\n\n    this._create();\n  }\n\n  // inherit EvEmitter\n  var proto = (Item.prototype = Object.create(EvEmitter.prototype));\n  proto.constructor = Item;\n\n  proto._create = function () {\n    // transition objects\n    this._transn = {\n      ingProperties: {},\n      clean: {},\n      onEnd: {},\n    };\n\n    this.css({\n      position: \"absolute\",\n    });\n  };\n\n  // trigger specified handler for event type\n  proto.handleEvent = function (event) {\n    var method = \"on\" + event.type;\n    if (this[method]) {\n      this[method](event);\n    }\n  };\n\n  proto.getSize = function () {\n    this.size = getSize(this.element);\n  };\n\n  /**\n   * apply CSS styles to element\n   * @param {Object} style\n   */\n  proto.css = function (style) {\n    var elemStyle = this.element.style;\n\n    for (var prop in style) {\n      // use vendor property if available\n      var supportedProp = vendorProperties[prop] || prop;\n      elemStyle[supportedProp] = style[prop];\n    }\n  };\n\n  // measure position, and sets it\n  proto.getPosition = function () {\n    var style = getComputedStyle(this.element);\n    var isOriginLeft = this.layout._getOption(\"originLeft\");\n    var isOriginTop = this.layout._getOption(\"originTop\");\n    var xValue = style[isOriginLeft ? \"left\" : \"right\"];\n    var yValue = style[isOriginTop ? \"top\" : \"bottom\"];\n    var x = parseFloat(xValue);\n    var y = parseFloat(yValue);\n    // convert percent to pixels\n    var layoutSize = this.layout.size;\n    if (xValue.indexOf(\"%\") != -1) {\n      x = (x / 100) * layoutSize.width;\n    }\n    if (yValue.indexOf(\"%\") != -1) {\n      y = (y / 100) * layoutSize.height;\n    }\n    // clean up 'auto' or other non-integer values\n    x = isNaN(x) ? 0 : x;\n    y = isNaN(y) ? 0 : y;\n    // remove padding from measurement\n    x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;\n    y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;\n\n    this.position.x = x;\n    this.position.y = y;\n  };\n\n  // set settled position, apply padding\n  proto.layoutPosition = function () {\n    var layoutSize = this.layout.size;\n    var style = {};\n    var isOriginLeft = this.layout._getOption(\"originLeft\");\n    var isOriginTop = this.layout._getOption(\"originTop\");\n\n    // x\n    var xPadding = isOriginLeft ? \"paddingLeft\" : \"paddingRight\";\n    var xProperty = isOriginLeft ? \"left\" : \"right\";\n    var xResetProperty = isOriginLeft ? \"right\" : \"left\";\n\n    var x = this.position.x + layoutSize[xPadding];\n    // set in percentage or pixels\n    style[xProperty] = this.getXValue(x);\n    // reset other property\n    style[xResetProperty] = \"\";\n\n    // y\n    var yPadding = isOriginTop ? \"paddingTop\" : \"paddingBottom\";\n    var yProperty = isOriginTop ? \"top\" : \"bottom\";\n    var yResetProperty = isOriginTop ? \"bottom\" : \"top\";\n\n    var y = this.position.y + layoutSize[yPadding];\n    // set in percentage or pixels\n    style[yProperty] = this.getYValue(y);\n    // reset other property\n    style[yResetProperty] = \"\";\n\n    this.css(style);\n    this.emitEvent(\"layout\", [this]);\n  };\n\n  proto.getXValue = function (x) {\n    var isHorizontal = this.layout._getOption(\"horizontal\");\n    return this.layout.options.percentPosition && !isHorizontal\n      ? (x / this.layout.size.width) * 100 + \"%\"\n      : x + \"px\";\n  };\n\n  proto.getYValue = function (y) {\n    var isHorizontal = this.layout._getOption(\"horizontal\");\n    return this.layout.options.percentPosition && isHorizontal\n      ? (y / this.layout.size.height) * 100 + \"%\"\n      : y + \"px\";\n  };\n\n  proto._transitionTo = function (x, y) {\n    this.getPosition();\n    // get current x & y from top/left\n    var curX = this.position.x;\n    var curY = this.position.y;\n\n    var didNotMove = x == this.position.x && y == this.position.y;\n\n    // save end position\n    this.setPosition(x, y);\n\n    // if did not move and not transitioning, just go to layout\n    if (didNotMove && !this.isTransitioning) {\n      this.layoutPosition();\n      return;\n    }\n\n    var transX = x - curX;\n    var transY = y - curY;\n    var transitionStyle = {};\n    transitionStyle.transform = this.getTranslate(transX, transY);\n\n    this.transition({\n      to: transitionStyle,\n      onTransitionEnd: {\n        transform: this.layoutPosition,\n      },\n      isCleaning: true,\n    });\n  };\n\n  proto.getTranslate = function (x, y) {\n    // flip cooridinates if origin on right or bottom\n    var isOriginLeft = this.layout._getOption(\"originLeft\");\n    var isOriginTop = this.layout._getOption(\"originTop\");\n    x = isOriginLeft ? x : -x;\n    y = isOriginTop ? y : -y;\n    return \"translate3d(\" + x + \"px, \" + y + \"px, 0)\";\n  };\n\n  // non transition + transform support\n  proto.goTo = function (x, y) {\n    this.setPosition(x, y);\n    this.layoutPosition();\n  };\n\n  proto.moveTo = proto._transitionTo;\n\n  proto.setPosition = function (x, y) {\n    this.position.x = parseFloat(x);\n    this.position.y = parseFloat(y);\n  };\n\n  // ----- transition ----- //\n\n  /**\n   * @param {Object} style - CSS\n   * @param {Function} onTransitionEnd\n   */\n\n  // non transition, just trigger callback\n  proto._nonTransition = function (args) {\n    this.css(args.to);\n    if (args.isCleaning) {\n      this._removeStyles(args.to);\n    }\n    for (var prop in args.onTransitionEnd) {\n      args.onTransitionEnd[prop].call(this);\n    }\n  };\n\n  /**\n   * proper transition\n   * @param {Object} args - arguments\n   *   @param {Object} to - style to transition to\n   *   @param {Object} from - style to start transition from\n   *   @param {Boolean} isCleaning - removes transition styles after transition\n   *   @param {Function} onTransitionEnd - callback\n   */\n  proto.transition = function (args) {\n    // redirect to nonTransition if no transition duration\n    if (!parseFloat(this.layout.options.transitionDuration)) {\n      this._nonTransition(args);\n      return;\n    }\n\n    var _transition = this._transn;\n    // keep track of onTransitionEnd callback by css property\n    for (var prop in args.onTransitionEnd) {\n      _transition.onEnd[prop] = args.onTransitionEnd[prop];\n    }\n    // keep track of properties that are transitioning\n    for (prop in args.to) {\n      _transition.ingProperties[prop] = true;\n      // keep track of properties to clean up when transition is done\n      if (args.isCleaning) {\n        _transition.clean[prop] = true;\n      }\n    }\n\n    // set from styles\n    if (args.from) {\n      this.css(args.from);\n      // force redraw. http://blog.alexmaccaw.com/css-transitions\n      var h = this.element.offsetHeight;\n      // hack for JSHint to hush about unused var\n      h = null;\n    }\n    // enable transition\n    this.enableTransition(args.to);\n    // set styles that are transitioning\n    this.css(args.to);\n\n    this.isTransitioning = true;\n  };\n\n  // dash before all cap letters, including first for\n  // WebkitTransform => -webkit-transform\n  function toDashedAll(str) {\n    return str.replace(/([A-Z])/g, function ($1) {\n      return \"-\" + $1.toLowerCase();\n    });\n  }\n\n  var transitionProps = \"opacity,\" + toDashedAll(transformProperty);\n\n  proto.enableTransition = function (/* style */) {\n    // HACK changing transitionProperty during a transition\n    // will cause transition to jump\n    if (this.isTransitioning) {\n      return;\n    }\n\n    // make `transition: foo, bar, baz` from style object\n    // HACK un-comment this when enableTransition can work\n    // while a transition is happening\n    // var transitionValues = [];\n    // for ( var prop in style ) {\n    //   // dash-ify camelCased properties like WebkitTransition\n    //   prop = vendorProperties[ prop ] || prop;\n    //   transitionValues.push( toDashedAll( prop ) );\n    // }\n    // munge number to millisecond, to match stagger\n    var duration = this.layout.options.transitionDuration;\n    duration = typeof duration == \"number\" ? duration + \"ms\" : duration;\n    // enable transition styles\n    this.css({\n      transitionProperty: transitionProps,\n      transitionDuration: duration,\n      transitionDelay: this.staggerDelay || 0,\n    });\n    // listen for transition end event\n    this.element.addEventListener(transitionEndEvent, this, false);\n  };\n\n  // ----- events ----- //\n\n  proto.onwebkitTransitionEnd = function (event) {\n    this.ontransitionend(event);\n  };\n\n  proto.onotransitionend = function (event) {\n    this.ontransitionend(event);\n  };\n\n  // properties that I munge to make my life easier\n  var dashedVendorProperties = {\n    \"-webkit-transform\": \"transform\",\n  };\n\n  proto.ontransitionend = function (event) {\n    // disregard bubbled events from children\n    if (event.target !== this.element) {\n      return;\n    }\n    var _transition = this._transn;\n    // get property name of transitioned property, convert to prefix-free\n    var propertyName =\n      dashedVendorProperties[event.propertyName] || event.propertyName;\n\n    // remove property that has completed transitioning\n    delete _transition.ingProperties[propertyName];\n    // check if any properties are still transitioning\n    if (isEmptyObj(_transition.ingProperties)) {\n      // all properties have completed transitioning\n      this.disableTransition();\n    }\n    // clean style\n    if (propertyName in _transition.clean) {\n      // clean up style\n      this.element.style[event.propertyName] = \"\";\n      delete _transition.clean[propertyName];\n    }\n    // trigger onTransitionEnd callback\n    if (propertyName in _transition.onEnd) {\n      var onTransitionEnd = _transition.onEnd[propertyName];\n      onTransitionEnd.call(this);\n      delete _transition.onEnd[propertyName];\n    }\n\n    this.emitEvent(\"transitionEnd\", [this]);\n  };\n\n  proto.disableTransition = function () {\n    this.removeTransitionStyles();\n    this.element.removeEventListener(transitionEndEvent, this, false);\n    this.isTransitioning = false;\n  };\n\n  /**\n   * removes style property from element\n   * @param {Object} style\n   **/\n  proto._removeStyles = function (style) {\n    // clean up transition styles\n    var cleanStyle = {};\n    for (var prop in style) {\n      cleanStyle[prop] = \"\";\n    }\n    this.css(cleanStyle);\n  };\n\n  var cleanTransitionStyle = {\n    transitionProperty: \"\",\n    transitionDuration: \"\",\n    transitionDelay: \"\",\n  };\n\n  proto.removeTransitionStyles = function () {\n    // remove transition\n    this.css(cleanTransitionStyle);\n  };\n\n  // ----- stagger ----- //\n\n  proto.stagger = function (delay) {\n    delay = isNaN(delay) ? 0 : delay;\n    this.staggerDelay = delay + \"ms\";\n  };\n\n  // ----- show/hide/remove ----- //\n\n  // remove element from DOM\n  proto.removeElem = function () {\n    this.element.parentNode.removeChild(this.element);\n    // remove display: none\n    this.css({ display: \"\" });\n    this.emitEvent(\"remove\", [this]);\n  };\n\n  proto.remove = function () {\n    // just remove element if no transition support or no transition\n    if (\n      !transitionProperty ||\n      !parseFloat(this.layout.options.transitionDuration)\n    ) {\n      this.removeElem();\n      return;\n    }\n\n    // start transition\n    this.once(\"transitionEnd\", function () {\n      this.removeElem();\n    });\n    this.hide();\n  };\n\n  proto.reveal = function () {\n    delete this.isHidden;\n    // remove display: none\n    this.css({ display: \"\" });\n\n    var options = this.layout.options;\n\n    var onTransitionEnd = {};\n    var transitionEndProperty = this.getHideRevealTransitionEndProperty(\n      \"visibleStyle\"\n    );\n    onTransitionEnd[transitionEndProperty] = this.onRevealTransitionEnd;\n\n    this.transition({\n      from: options.hiddenStyle,\n      to: options.visibleStyle,\n      isCleaning: true,\n      onTransitionEnd: onTransitionEnd,\n    });\n  };\n\n  proto.onRevealTransitionEnd = function () {\n    // check if still visible\n    // during transition, item may have been hidden\n    if (!this.isHidden) {\n      this.emitEvent(\"reveal\");\n    }\n  };\n\n  /**\n   * get style property use for hide/reveal transition end\n   * @param {String} styleProperty - hiddenStyle/visibleStyle\n   * @returns {String}\n   */\n  proto.getHideRevealTransitionEndProperty = function (styleProperty) {\n    var optionStyle = this.layout.options[styleProperty];\n    // use opacity\n    if (optionStyle.opacity) {\n      return \"opacity\";\n    }\n    // get first property\n    for (var prop in optionStyle) {\n      return prop;\n    }\n  };\n\n  proto.hide = function () {\n    // set flag\n    this.isHidden = true;\n    // remove display: none\n    this.css({ display: \"\" });\n\n    var options = this.layout.options;\n\n    var onTransitionEnd = {};\n    var transitionEndProperty = this.getHideRevealTransitionEndProperty(\n      \"hiddenStyle\"\n    );\n    onTransitionEnd[transitionEndProperty] = this.onHideTransitionEnd;\n\n    this.transition({\n      from: options.visibleStyle,\n      to: options.hiddenStyle,\n      // keep hidden stuff hidden\n      isCleaning: true,\n      onTransitionEnd: onTransitionEnd,\n    });\n  };\n\n  proto.onHideTransitionEnd = function () {\n    // check if still hidden\n    // during transition, item may have been un-hidden\n    if (this.isHidden) {\n      this.css({ display: \"none\" });\n      this.emitEvent(\"hide\");\n    }\n  };\n\n  proto.destroy = function () {\n    this.css({\n      position: \"\",\n      left: \"\",\n      right: \"\",\n      top: \"\",\n      bottom: \"\",\n      transition: \"\",\n      transform: \"\",\n    });\n  };\n\n  return Item;\n});\n\n/*!\n * Outlayer v2.1.1\n * the brains and guts of a layout library\n * MIT license\n */\n\n(function (window, factory) {\n  \"use strict\" /* globals define, module, require */;\n  // universal module definition\n  /* jshint strict: false */ if (typeof define == \"function\" && define.amd) {\n    // AMD - RequireJS\n    define(\"outlayer/outlayer\", [\n      \"ev-emitter/ev-emitter\",\n      \"get-size/get-size\",\n      \"fizzy-ui-utils/utils\",\n      \"./item\",\n    ], function (EvEmitter, getSize, utils, Item) {\n      return factory(window, EvEmitter, getSize, utils, Item);\n    });\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS - Browserify, Webpack\n    module.exports = factory(\n      window,\n      require(\"ev-emitter\"),\n      require(\"get-size\"),\n      require(\"fizzy-ui-utils\"),\n      require(\"./item\")\n    );\n  } else {\n    // browser global\n    window.Outlayer = factory(\n      window,\n      window.EvEmitter,\n      window.getSize,\n      window.fizzyUIUtils,\n      window.Outlayer.Item\n    );\n  }\n})(window, function factory(window, EvEmitter, getSize, utils, Item) {\n  \"use strict\";\n\n  // ----- vars ----- //\n\n  var console = window.console;\n  var jQuery = window.jQuery;\n  var noop = function () {};\n\n  // -------------------------- Outlayer -------------------------- //\n\n  // globally unique identifiers\n  var GUID = 0;\n  // internal store of all Outlayer intances\n  var instances = {};\n\n  /**\n   * @param {Element, String} element\n   * @param {Object} options\n   * @constructor\n   */\n  function Outlayer(element, options) {\n    var queryElement = utils.getQueryElement(element);\n    if (!queryElement) {\n      if (console) {\n        console.error(\n          \"Bad element for \" +\n            this.constructor.namespace +\n            \": \" +\n            (queryElement || element)\n        );\n      }\n      return;\n    }\n    this.element = queryElement;\n    // add jQuery\n    if (jQuery) {\n      this.$element = jQuery(this.element);\n    }\n\n    // options\n    this.options = utils.extend({}, this.constructor.defaults);\n    this.option(options);\n\n    // add id for Outlayer.getFromElement\n    var id = ++GUID;\n    this.element.outlayerGUID = id; // expando\n    instances[id] = this; // associate via id\n\n    // kick it off\n    this._create();\n\n    var isInitLayout = this._getOption(\"initLayout\");\n    if (isInitLayout) {\n      this.layout();\n    }\n  }\n\n  // settings are for internal use only\n  Outlayer.namespace = \"outlayer\";\n  Outlayer.Item = Item;\n\n  // default options\n  Outlayer.defaults = {\n    containerStyle: {\n      position: \"relative\",\n    },\n    initLayout: true,\n    originLeft: true,\n    originTop: true,\n    resize: true,\n    resizeContainer: true,\n    // item options\n    transitionDuration: \"0.4s\",\n    hiddenStyle: {\n      opacity: 0,\n      transform: \"scale(0.001)\",\n    },\n    visibleStyle: {\n      opacity: 1,\n      transform: \"scale(1)\",\n    },\n  };\n\n  var proto = Outlayer.prototype;\n  // inherit EvEmitter\n  utils.extend(proto, EvEmitter.prototype);\n\n  /**\n   * set options\n   * @param {Object} opts\n   */\n  proto.option = function (opts) {\n    utils.extend(this.options, opts);\n  };\n\n  /**\n   * get backwards compatible option value, check old name\n   */\n  proto._getOption = function (option) {\n    var oldOption = this.constructor.compatOptions[option];\n    return oldOption && this.options[oldOption] !== undefined\n      ? this.options[oldOption]\n      : this.options[option];\n  };\n\n  Outlayer.compatOptions = {\n    // currentName: oldName\n    initLayout: \"isInitLayout\",\n    horizontal: \"isHorizontal\",\n    layoutInstant: \"isLayoutInstant\",\n    originLeft: \"isOriginLeft\",\n    originTop: \"isOriginTop\",\n    resize: \"isResizeBound\",\n    resizeContainer: \"isResizingContainer\",\n  };\n\n  proto._create = function () {\n    // get items from children\n    this.reloadItems();\n    // elements that affect layout, but are not laid out\n    this.stamps = [];\n    this.stamp(this.options.stamp);\n    // set container style\n    utils.extend(this.element.style, this.options.containerStyle);\n\n    // bind resize method\n    var canBindResize = this._getOption(\"resize\");\n    if (canBindResize) {\n      this.bindResize();\n    }\n  };\n\n  // goes through all children again and gets bricks in proper order\n  proto.reloadItems = function () {\n    // collection of item elements\n    this.items = this._itemize(this.element.children);\n  };\n\n  /**\n   * turn elements into Outlayer.Items to be used in layout\n   * @param {Array or NodeList or HTMLElement} elems\n   * @returns {Array} items - collection of new Outlayer Items\n   */\n  proto._itemize = function (elems) {\n    var itemElems = this._filterFindItemElements(elems);\n    var Item = this.constructor.Item;\n\n    // create new Outlayer Items for collection\n    var items = [];\n    for (var i = 0; i < itemElems.length; i++) {\n      var elem = itemElems[i];\n      var item = new Item(elem, this);\n      items.push(item);\n    }\n\n    return items;\n  };\n\n  /**\n   * get item elements to be used in layout\n   * @param {Array or NodeList or HTMLElement} elems\n   * @returns {Array} items - item elements\n   */\n  proto._filterFindItemElements = function (elems) {\n    return utils.filterFindElements(elems, this.options.itemSelector);\n  };\n\n  /**\n   * getter method for getting item elements\n   * @returns {Array} elems - collection of item elements\n   */\n  proto.getItemElements = function () {\n    return this.items.map(function (item) {\n      return item.element;\n    });\n  };\n\n  // ----- init & layout ----- //\n\n  /**\n   * lays out all items\n   */\n  proto.layout = function () {\n    this._resetLayout();\n    this._manageStamps();\n\n    // don't animate first layout\n    var layoutInstant = this._getOption(\"layoutInstant\");\n    var isInstant =\n      layoutInstant !== undefined ? layoutInstant : !this._isLayoutInited;\n    this.layoutItems(this.items, isInstant);\n\n    // flag for initalized\n    this._isLayoutInited = true;\n  };\n\n  // _init is alias for layout\n  proto._init = proto.layout;\n\n  /**\n   * logic before any new layout\n   */\n  proto._resetLayout = function () {\n    this.getSize();\n  };\n\n  proto.getSize = function () {\n    this.size = getSize(this.element);\n  };\n\n  /**\n   * get measurement from option, for columnWidth, rowHeight, gutter\n   * if option is String -> get element from selector string, & get size of element\n   * if option is Element -> get size of element\n   * else use option as a number\n   *\n   * @param {String} measurement\n   * @param {String} size - width or height\n   * @private\n   */\n  proto._getMeasurement = function (measurement, size) {\n    var option = this.options[measurement];\n    var elem;\n    if (!option) {\n      // default to 0\n      this[measurement] = 0;\n    } else {\n      // use option as an element\n      if (typeof option == \"string\") {\n        elem = this.element.querySelector(option);\n      } else if (option instanceof HTMLElement) {\n        elem = option;\n      }\n      // use size of element, if element\n      this[measurement] = elem ? getSize(elem)[size] : option;\n    }\n  };\n\n  /**\n   * layout a collection of item elements\n   * @api public\n   */\n  proto.layoutItems = function (items, isInstant) {\n    items = this._getItemsForLayout(items);\n\n    this._layoutItems(items, isInstant);\n\n    this._postLayout();\n  };\n\n  /**\n   * get the items to be laid out\n   * you may want to skip over some items\n   * @param {Array} items\n   * @returns {Array} items\n   */\n  proto._getItemsForLayout = function (items) {\n    return items.filter(function (item) {\n      return !item.isIgnored;\n    });\n  };\n\n  /**\n   * layout items\n   * @param {Array} items\n   * @param {Boolean} isInstant\n   */\n  proto._layoutItems = function (items, isInstant) {\n    this._emitCompleteOnItems(\"layout\", items);\n\n    if (!items || !items.length) {\n      // no items, emit event with empty array\n      return;\n    }\n\n    var queue = [];\n\n    items.forEach(function (item) {\n      // get x/y object from method\n      var position = this._getItemLayoutPosition(item);\n      // enqueue\n      position.item = item;\n      position.isInstant = isInstant || item.isLayoutInstant;\n      queue.push(position);\n    }, this);\n\n    this._processLayoutQueue(queue);\n  };\n\n  /**\n   * get item layout position\n   * @param {Outlayer.Item} item\n   * @returns {Object} x and y position\n   */\n  proto._getItemLayoutPosition = function (/* item */) {\n    return {\n      x: 0,\n      y: 0,\n    };\n  };\n\n  /**\n   * iterate over array and position each item\n   * Reason being - separating this logic prevents 'layout invalidation'\n   * thx @paul_irish\n   * @param {Array} queue\n   */\n  proto._processLayoutQueue = function (queue) {\n    this.updateStagger();\n    queue.forEach(function (obj, i) {\n      this._positionItem(obj.item, obj.x, obj.y, obj.isInstant, i);\n    }, this);\n  };\n\n  // set stagger from option in milliseconds number\n  proto.updateStagger = function () {\n    var stagger = this.options.stagger;\n    if (stagger === null || stagger === undefined) {\n      this.stagger = 0;\n      return;\n    }\n    this.stagger = getMilliseconds(stagger);\n    return this.stagger;\n  };\n\n  /**\n   * Sets position of item in DOM\n   * @param {Outlayer.Item} item\n   * @param {Number} x - horizontal position\n   * @param {Number} y - vertical position\n   * @param {Boolean} isInstant - disables transitions\n   */\n  proto._positionItem = function (item, x, y, isInstant, i) {\n    if (isInstant) {\n      // if not transition, just set CSS\n      item.goTo(x, y);\n    } else {\n      item.stagger(i * this.stagger);\n      item.moveTo(x, y);\n    }\n  };\n\n  /**\n   * Any logic you want to do after each layout,\n   * i.e. size the container\n   */\n  proto._postLayout = function () {\n    this.resizeContainer();\n  };\n\n  proto.resizeContainer = function () {\n    var isResizingContainer = this._getOption(\"resizeContainer\");\n    if (!isResizingContainer) {\n      return;\n    }\n    var size = this._getContainerSize();\n    if (size) {\n      this._setContainerMeasure(size.width, true);\n      this._setContainerMeasure(size.height, false);\n    }\n  };\n\n  /**\n   * Sets width or height of container if returned\n   * @returns {Object} size\n   *   @param {Number} width\n   *   @param {Number} height\n   */\n  proto._getContainerSize = noop;\n\n  /**\n   * @param {Number} measure - size of width or height\n   * @param {Boolean} isWidth\n   */\n  proto._setContainerMeasure = function (measure, isWidth) {\n    if (measure === undefined) {\n      return;\n    }\n\n    var elemSize = this.size;\n    // add padding and border width if border box\n    if (elemSize.isBorderBox) {\n      measure += isWidth\n        ? elemSize.paddingLeft +\n          elemSize.paddingRight +\n          elemSize.borderLeftWidth +\n          elemSize.borderRightWidth\n        : elemSize.paddingBottom +\n          elemSize.paddingTop +\n          elemSize.borderTopWidth +\n          elemSize.borderBottomWidth;\n    }\n\n    measure = Math.max(measure, 0);\n    this.element.style[isWidth ? \"width\" : \"height\"] = measure + \"px\";\n  };\n\n  /**\n   * emit eventComplete on a collection of items events\n   * @param {String} eventName\n   * @param {Array} items - Outlayer.Items\n   */\n  proto._emitCompleteOnItems = function (eventName, items) {\n    var _this = this;\n    function onComplete() {\n      _this.dispatchEvent(eventName + \"Complete\", null, [items]);\n    }\n\n    var count = items.length;\n    if (!items || !count) {\n      onComplete();\n      return;\n    }\n\n    var doneCount = 0;\n    function tick() {\n      doneCount++;\n      if (doneCount == count) {\n        onComplete();\n      }\n    }\n\n    // bind callback\n    items.forEach(function (item) {\n      item.once(eventName, tick);\n    });\n  };\n\n  /**\n   * emits events via EvEmitter and jQuery events\n   * @param {String} type - name of event\n   * @param {Event} event - original event\n   * @param {Array} args - extra arguments\n   */\n  proto.dispatchEvent = function (type, event, args) {\n    // add original event to arguments\n    var emitArgs = event ? [event].concat(args) : args;\n    this.emitEvent(type, emitArgs);\n\n    if (jQuery) {\n      // set this.$element\n      this.$element = this.$element || jQuery(this.element);\n      if (event) {\n        // create jQuery event\n        var $event = jQuery.Event(event);\n        $event.type = type;\n        this.$element.trigger($event, args);\n      } else {\n        // just trigger with type if no event available\n        this.$element.trigger(type, args);\n      }\n    }\n  };\n\n  // -------------------------- ignore & stamps -------------------------- //\n\n  /**\n   * keep item in collection, but do not lay it out\n   * ignored items do not get skipped in layout\n   * @param {Element} elem\n   */\n  proto.ignore = function (elem) {\n    var item = this.getItem(elem);\n    if (item) {\n      item.isIgnored = true;\n    }\n  };\n\n  /**\n   * return item to layout collection\n   * @param {Element} elem\n   */\n  proto.unignore = function (elem) {\n    var item = this.getItem(elem);\n    if (item) {\n      delete item.isIgnored;\n    }\n  };\n\n  /**\n   * adds elements to stamps\n   * @param {NodeList, Array, Element, or String} elems\n   */\n  proto.stamp = function (elems) {\n    elems = this._find(elems);\n    if (!elems) {\n      return;\n    }\n\n    this.stamps = this.stamps.concat(elems);\n    // ignore\n    elems.forEach(this.ignore, this);\n  };\n\n  /**\n   * removes elements to stamps\n   * @param {NodeList, Array, or Element} elems\n   */\n  proto.unstamp = function (elems) {\n    elems = this._find(elems);\n    if (!elems) {\n      return;\n    }\n\n    elems.forEach(function (elem) {\n      // filter out removed stamp elements\n      utils.removeFrom(this.stamps, elem);\n      this.unignore(elem);\n    }, this);\n  };\n\n  /**\n   * finds child elements\n   * @param {NodeList, Array, Element, or String} elems\n   * @returns {Array} elems\n   */\n  proto._find = function (elems) {\n    if (!elems) {\n      return;\n    }\n    // if string, use argument as selector string\n    if (typeof elems == \"string\") {\n      elems = this.element.querySelectorAll(elems);\n    }\n    elems = utils.makeArray(elems);\n    return elems;\n  };\n\n  proto._manageStamps = function () {\n    if (!this.stamps || !this.stamps.length) {\n      return;\n    }\n\n    this._getBoundingRect();\n\n    this.stamps.forEach(this._manageStamp, this);\n  };\n\n  // update boundingLeft / Top\n  proto._getBoundingRect = function () {\n    // get bounding rect for container element\n    var boundingRect = this.element.getBoundingClientRect();\n    var size = this.size;\n    this._boundingRect = {\n      left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,\n      top: boundingRect.top + size.paddingTop + size.borderTopWidth,\n      right: boundingRect.right - (size.paddingRight + size.borderRightWidth),\n      bottom:\n        boundingRect.bottom - (size.paddingBottom + size.borderBottomWidth),\n    };\n  };\n\n  /**\n   * @param {Element} stamp\n   **/\n  proto._manageStamp = noop;\n\n  /**\n   * get x/y position of element relative to container element\n   * @param {Element} elem\n   * @returns {Object} offset - has left, top, right, bottom\n   */\n  proto._getElementOffset = function (elem) {\n    var boundingRect = elem.getBoundingClientRect();\n    var thisRect = this._boundingRect;\n    var size = getSize(elem);\n    var offset = {\n      left: boundingRect.left - thisRect.left - size.marginLeft,\n      top: boundingRect.top - thisRect.top - size.marginTop,\n      right: thisRect.right - boundingRect.right - size.marginRight,\n      bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom,\n    };\n    return offset;\n  };\n\n  // -------------------------- resize -------------------------- //\n\n  // enable event handlers for listeners\n  // i.e. resize -> onresize\n  proto.handleEvent = utils.handleEvent;\n\n  /**\n   * Bind layout to window resizing\n   */\n  proto.bindResize = function () {\n    window.addEventListener(\"resize\", this);\n    this.isResizeBound = true;\n  };\n\n  /**\n   * Unbind layout to window resizing\n   */\n  proto.unbindResize = function () {\n    window.removeEventListener(\"resize\", this);\n    this.isResizeBound = false;\n  };\n\n  proto.onresize = function () {\n    this.resize();\n  };\n\n  utils.debounceMethod(Outlayer, \"onresize\", 100);\n\n  proto.resize = function () {\n    // don't trigger if size did not change\n    // or if resize was unbound. See #9\n    if (!this.isResizeBound || !this.needsResizeLayout()) {\n      return;\n    }\n\n    this.layout();\n  };\n\n  /**\n   * check if layout is needed post layout\n   * @returns Boolean\n   */\n  proto.needsResizeLayout = function () {\n    var size = getSize(this.element);\n    // check that this.size and size are there\n    // IE8 triggers resize on body size change, so they might not be\n    var hasSizes = this.size && size;\n    return hasSizes && size.innerWidth !== this.size.innerWidth;\n  };\n\n  // -------------------------- methods -------------------------- //\n\n  /**\n   * add items to Outlayer instance\n   * @param {Array or NodeList or Element} elems\n   * @returns {Array} items - Outlayer.Items\n   **/\n  proto.addItems = function (elems) {\n    var items = this._itemize(elems);\n    // add items to collection\n    if (items.length) {\n      this.items = this.items.concat(items);\n    }\n    return items;\n  };\n\n  /**\n   * Layout newly-appended item elements\n   * @param {Array or NodeList or Element} elems\n   */\n  proto.appended = function (elems) {\n    var items = this.addItems(elems);\n    if (!items.length) {\n      return;\n    }\n    // layout and reveal just the new items\n    this.layoutItems(items, true);\n    this.reveal(items);\n  };\n\n  /**\n   * Layout prepended elements\n   * @param {Array or NodeList or Element} elems\n   */\n  proto.prepended = function (elems) {\n    var items = this._itemize(elems);\n    if (!items.length) {\n      return;\n    }\n    // add items to beginning of collection\n    var previousItems = this.items.slice(0);\n    this.items = items.concat(previousItems);\n    // start new layout\n    this._resetLayout();\n    this._manageStamps();\n    // layout new stuff without transition\n    this.layoutItems(items, true);\n    this.reveal(items);\n    // layout previous items\n    this.layoutItems(previousItems);\n  };\n\n  /**\n   * reveal a collection of items\n   * @param {Array of Outlayer.Items} items\n   */\n  proto.reveal = function (items) {\n    this._emitCompleteOnItems(\"reveal\", items);\n    if (!items || !items.length) {\n      return;\n    }\n    var stagger = this.updateStagger();\n    items.forEach(function (item, i) {\n      item.stagger(i * stagger);\n      item.reveal();\n    });\n  };\n\n  /**\n   * hide a collection of items\n   * @param {Array of Outlayer.Items} items\n   */\n  proto.hide = function (items) {\n    this._emitCompleteOnItems(\"hide\", items);\n    if (!items || !items.length) {\n      return;\n    }\n    var stagger = this.updateStagger();\n    items.forEach(function (item, i) {\n      item.stagger(i * stagger);\n      item.hide();\n    });\n  };\n\n  /**\n   * reveal item elements\n   * @param {Array}, {Element}, {NodeList} items\n   */\n  proto.revealItemElements = function (elems) {\n    var items = this.getItems(elems);\n    this.reveal(items);\n  };\n\n  /**\n   * hide item elements\n   * @param {Array}, {Element}, {NodeList} items\n   */\n  proto.hideItemElements = function (elems) {\n    var items = this.getItems(elems);\n    this.hide(items);\n  };\n\n  /**\n   * get Outlayer.Item, given an Element\n   * @param {Element} elem\n   * @param {Function} callback\n   * @returns {Outlayer.Item} item\n   */\n  proto.getItem = function (elem) {\n    // loop through items to get the one that matches\n    for (var i = 0; i < this.items.length; i++) {\n      var item = this.items[i];\n      if (item.element == elem) {\n        // return item\n        return item;\n      }\n    }\n  };\n\n  /**\n   * get collection of Outlayer.Items, given Elements\n   * @param {Array} elems\n   * @returns {Array} items - Outlayer.Items\n   */\n  proto.getItems = function (elems) {\n    elems = utils.makeArray(elems);\n    var items = [];\n    elems.forEach(function (elem) {\n      var item = this.getItem(elem);\n      if (item) {\n        items.push(item);\n      }\n    }, this);\n\n    return items;\n  };\n\n  /**\n   * remove element(s) from instance and DOM\n   * @param {Array or NodeList or Element} elems\n   */\n  proto.remove = function (elems) {\n    var removeItems = this.getItems(elems);\n\n    this._emitCompleteOnItems(\"remove\", removeItems);\n\n    // bail if no items to remove\n    if (!removeItems || !removeItems.length) {\n      return;\n    }\n\n    removeItems.forEach(function (item) {\n      item.remove();\n      // remove item from collection\n      utils.removeFrom(this.items, item);\n    }, this);\n  };\n\n  // ----- destroy ----- //\n\n  // remove and disable Outlayer instance\n  proto.destroy = function () {\n    // clean up dynamic styles\n    var style = this.element.style;\n    style.height = \"\";\n    style.position = \"\";\n    style.width = \"\";\n    // destroy items\n    this.items.forEach(function (item) {\n      item.destroy();\n    });\n\n    this.unbindResize();\n\n    var id = this.element.outlayerGUID;\n    delete instances[id]; // remove reference to instance by id\n    delete this.element.outlayerGUID;\n    // remove data for jQuery\n    if (jQuery) {\n      jQuery.removeData(this.element, this.constructor.namespace);\n    }\n  };\n\n  // -------------------------- data -------------------------- //\n\n  /**\n   * get Outlayer instance from element\n   * @param {Element} elem\n   * @returns {Outlayer}\n   */\n  Outlayer.data = function (elem) {\n    elem = utils.getQueryElement(elem);\n    var id = elem && elem.outlayerGUID;\n    return id && instances[id];\n  };\n\n  // -------------------------- create Outlayer class -------------------------- //\n\n  /**\n   * create a layout class\n   * @param {String} namespace\n   */\n  Outlayer.create = function (namespace, options) {\n    // sub-class Outlayer\n    var Layout = subclass(Outlayer);\n    // apply new options and compatOptions\n    Layout.defaults = utils.extend({}, Outlayer.defaults);\n    utils.extend(Layout.defaults, options);\n    Layout.compatOptions = utils.extend({}, Outlayer.compatOptions);\n\n    Layout.namespace = namespace;\n\n    Layout.data = Outlayer.data;\n\n    // sub-class Item\n    Layout.Item = subclass(Item);\n\n    // -------------------------- declarative -------------------------- //\n\n    utils.htmlInit(Layout, namespace);\n\n    // -------------------------- jQuery bridge -------------------------- //\n\n    // make into jQuery plugin\n    if (jQuery && jQuery.bridget) {\n      jQuery.bridget(namespace, Layout);\n    }\n\n    return Layout;\n  };\n\n  function subclass(Parent) {\n    function SubClass() {\n      Parent.apply(this, arguments);\n    }\n\n    SubClass.prototype = Object.create(Parent.prototype);\n    SubClass.prototype.constructor = SubClass;\n\n    return SubClass;\n  }\n\n  // ----- helpers ----- //\n\n  // how many milliseconds are in each unit\n  var msUnits = {\n    ms: 1,\n    s: 1000,\n  };\n\n  // munge time-like parameter into millisecond number\n  // '0.4s' -> 40\n  function getMilliseconds(time) {\n    if (typeof time == \"number\") {\n      return time;\n    }\n    var matches = time.match(/(^\\d*\\.?\\d*)(\\w*)/);\n    var num = matches && matches[1];\n    var unit = matches && matches[2];\n    if (!num.length) {\n      return 0;\n    }\n    num = parseFloat(num);\n    var mult = msUnits[unit] || 1;\n    return num * mult;\n  }\n\n  // ----- fin ----- //\n\n  // back in global\n  Outlayer.Item = Item;\n\n  return Outlayer;\n});\n\n/**\n * Isotope Item\n **/\n\n(function (window, factory) {\n  // universal module definition\n  /* jshint strict: false */ /*globals define, module, require */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"isotope-layout/js/item\", [\"outlayer/outlayer\"], factory);\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory(require(\"outlayer\"));\n  } else {\n    // browser global\n    window.Isotope = window.Isotope || {};\n    window.Isotope.Item = factory(window.Outlayer);\n  }\n})(window, function factory(Outlayer) {\n  \"use strict\";\n\n  // -------------------------- Item -------------------------- //\n\n  // sub-class Outlayer Item\n  function Item() {\n    Outlayer.Item.apply(this, arguments);\n  }\n\n  var proto = (Item.prototype = Object.create(Outlayer.Item.prototype));\n\n  var _create = proto._create;\n  proto._create = function () {\n    // assign id, used for original-order sorting\n    this.id = this.layout.itemGUID++;\n    _create.call(this);\n    this.sortData = {};\n  };\n\n  proto.updateSortData = function () {\n    if (this.isIgnored) {\n      return;\n    }\n    // default sorters\n    this.sortData.id = this.id;\n    // for backward compatibility\n    this.sortData[\"original-order\"] = this.id;\n    this.sortData.random = Math.random();\n    // go thru getSortData obj and apply the sorters\n    var getSortData = this.layout.options.getSortData;\n    var sorters = this.layout._sorters;\n    for (var key in getSortData) {\n      var sorter = sorters[key];\n      this.sortData[key] = sorter(this.element, this);\n    }\n  };\n\n  var _destroy = proto.destroy;\n  proto.destroy = function () {\n    // call super\n    _destroy.apply(this, arguments);\n    // reset display, #741\n    this.css({\n      display: \"\",\n    });\n  };\n\n  return Item;\n});\n\n/**\n * Isotope LayoutMode\n */\n\n(function (window, factory) {\n  // universal module definition\n  /* jshint strict: false */ /*globals define, module, require */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"isotope-layout/js/layout-mode\", [\n      \"get-size/get-size\",\n      \"outlayer/outlayer\",\n    ], factory);\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory(require(\"get-size\"), require(\"outlayer\"));\n  } else {\n    // browser global\n    window.Isotope = window.Isotope || {};\n    window.Isotope.LayoutMode = factory(window.getSize, window.Outlayer);\n  }\n})(window, function factory(getSize, Outlayer) {\n  \"use strict\";\n\n  // layout mode class\n  function LayoutMode(isotope) {\n    this.isotope = isotope;\n    // link properties\n    if (isotope) {\n      this.options = isotope.options[this.namespace];\n      this.element = isotope.element;\n      this.items = isotope.filteredItems;\n      this.size = isotope.size;\n    }\n  }\n\n  var proto = LayoutMode.prototype;\n\n  /**\n   * some methods should just defer to default Outlayer method\n   * and reference the Isotope instance as `this`\n   **/\n  var facadeMethods = [\n    \"_resetLayout\",\n    \"_getItemLayoutPosition\",\n    \"_manageStamp\",\n    \"_getContainerSize\",\n    \"_getElementOffset\",\n    \"needsResizeLayout\",\n    \"_getOption\",\n  ];\n\n  facadeMethods.forEach(function (methodName) {\n    proto[methodName] = function () {\n      return Outlayer.prototype[methodName].apply(this.isotope, arguments);\n    };\n  });\n\n  // -----  ----- //\n\n  // for horizontal layout modes, check vertical size\n  proto.needsVerticalResizeLayout = function () {\n    // don't trigger if size did not change\n    var size = getSize(this.isotope.element);\n    // check that this.size and size are there\n    // IE8 triggers resize on body size change, so they might not be\n    var hasSizes = this.isotope.size && size;\n    return hasSizes && size.innerHeight != this.isotope.size.innerHeight;\n  };\n\n  // ----- measurements ----- //\n\n  proto._getMeasurement = function () {\n    this.isotope._getMeasurement.apply(this, arguments);\n  };\n\n  proto.getColumnWidth = function () {\n    this.getSegmentSize(\"column\", \"Width\");\n  };\n\n  proto.getRowHeight = function () {\n    this.getSegmentSize(\"row\", \"Height\");\n  };\n\n  /**\n   * get columnWidth or rowHeight\n   * segment: 'column' or 'row'\n   * size 'Width' or 'Height'\n   **/\n  proto.getSegmentSize = function (segment, size) {\n    var segmentName = segment + size;\n    var outerSize = \"outer\" + size;\n    // columnWidth / outerWidth // rowHeight / outerHeight\n    this._getMeasurement(segmentName, outerSize);\n    // got rowHeight or columnWidth, we can chill\n    if (this[segmentName]) {\n      return;\n    }\n    // fall back to item of first element\n    var firstItemSize = this.getFirstItemSize();\n    this[segmentName] =\n      (firstItemSize && firstItemSize[outerSize]) ||\n      // or size of container\n      this.isotope.size[\"inner\" + size];\n  };\n\n  proto.getFirstItemSize = function () {\n    var firstItem = this.isotope.filteredItems[0];\n    return firstItem && firstItem.element && getSize(firstItem.element);\n  };\n\n  // ----- methods that should reference isotope ----- //\n\n  proto.layout = function () {\n    this.isotope.layout.apply(this.isotope, arguments);\n  };\n\n  proto.getSize = function () {\n    this.isotope.getSize();\n    this.size = this.isotope.size;\n  };\n\n  // -------------------------- create -------------------------- //\n\n  LayoutMode.modes = {};\n\n  LayoutMode.create = function (namespace, options) {\n    function Mode() {\n      LayoutMode.apply(this, arguments);\n    }\n\n    Mode.prototype = Object.create(proto);\n    Mode.prototype.constructor = Mode;\n\n    // default options\n    if (options) {\n      Mode.options = options;\n    }\n\n    Mode.prototype.namespace = namespace;\n    // register in Isotope\n    LayoutMode.modes[namespace] = Mode;\n\n    return Mode;\n  };\n\n  return LayoutMode;\n});\n\n/*!\n * Masonry v4.2.1\n * Cascading grid layout library\n * https://masonry.desandro.com\n * MIT License\n * by David DeSandro\n */\n\n(function (window, factory) {\n  // universal module definition\n  /* jshint strict: false */ /*globals define, module, require */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"masonry-layout/masonry\", [\n      \"outlayer/outlayer\",\n      \"get-size/get-size\",\n    ], factory);\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory(require(\"outlayer\"), require(\"get-size\"));\n  } else {\n    // browser global\n    window.Masonry = factory(window.Outlayer, window.getSize);\n  }\n})(window, function factory(Outlayer, getSize) {\n  // -------------------------- masonryDefinition -------------------------- //\n\n  // create an Outlayer layout class\n  var Masonry = Outlayer.create(\"masonry\");\n  // isFitWidth -> fitWidth\n  Masonry.compatOptions.fitWidth = \"isFitWidth\";\n\n  var proto = Masonry.prototype;\n\n  proto._resetLayout = function () {\n    this.getSize();\n    this._getMeasurement(\"columnWidth\", \"outerWidth\");\n    this._getMeasurement(\"gutter\", \"outerWidth\");\n    this.measureColumns();\n\n    // reset column Y\n    this.colYs = [];\n    for (var i = 0; i < this.cols; i++) {\n      this.colYs.push(0);\n    }\n\n    this.maxY = 0;\n    this.horizontalColIndex = 0;\n  };\n\n  proto.measureColumns = function () {\n    this.getContainerWidth();\n    // if columnWidth is 0, default to outerWidth of first item\n    if (!this.columnWidth) {\n      var firstItem = this.items[0];\n      var firstItemElem = firstItem && firstItem.element;\n      // columnWidth fall back to item of first element\n      this.columnWidth =\n        (firstItemElem && getSize(firstItemElem).outerWidth) ||\n        // if first elem has no width, default to size of container\n        this.containerWidth;\n    }\n\n    var columnWidth = (this.columnWidth += this.gutter);\n\n    // calculate columns\n    var containerWidth = this.containerWidth + this.gutter;\n    var cols = containerWidth / columnWidth;\n    // fix rounding errors, typically with gutters\n    var excess = columnWidth - (containerWidth % columnWidth);\n    // if overshoot is less than a pixel, round up, otherwise floor it\n    var mathMethod = excess && excess < 1 ? \"round\" : \"floor\";\n    cols = Math[mathMethod](cols);\n    this.cols = Math.max(cols, 1);\n  };\n\n  proto.getContainerWidth = function () {\n    // container is parent if fit width\n    var isFitWidth = this._getOption(\"fitWidth\");\n    var container = isFitWidth ? this.element.parentNode : this.element;\n    // check that this.size and size are there\n    // IE8 triggers resize on body size change, so they might not be\n    var size = getSize(container);\n    this.containerWidth = size && size.innerWidth;\n  };\n\n  proto._getItemLayoutPosition = function (item) {\n    item.getSize();\n    // how many columns does this brick span\n    var remainder = item.size.outerWidth % this.columnWidth;\n    var mathMethod = remainder && remainder < 1 ? \"round\" : \"ceil\";\n    // round if off by 1 pixel, otherwise use ceil\n    var colSpan = Math[mathMethod](item.size.outerWidth / this.columnWidth);\n    colSpan = Math.min(colSpan, this.cols);\n    // use horizontal or top column position\n    var colPosMethod = this.options.horizontalOrder\n      ? \"_getHorizontalColPosition\"\n      : \"_getTopColPosition\";\n    var colPosition = this[colPosMethod](colSpan, item);\n    // position the brick\n    var position = {\n      x: this.columnWidth * colPosition.col,\n      y: colPosition.y,\n    };\n    // apply setHeight to necessary columns\n    var setHeight = colPosition.y + item.size.outerHeight;\n    var setMax = colSpan + colPosition.col;\n    for (var i = colPosition.col; i < setMax; i++) {\n      this.colYs[i] = setHeight;\n    }\n\n    return position;\n  };\n\n  proto._getTopColPosition = function (colSpan) {\n    var colGroup = this._getTopColGroup(colSpan);\n    // get the minimum Y value from the columns\n    var minimumY = Math.min.apply(Math, colGroup);\n\n    return {\n      col: colGroup.indexOf(minimumY),\n      y: minimumY,\n    };\n  };\n\n  /**\n   * @param {Number} colSpan - number of columns the element spans\n   * @returns {Array} colGroup\n   */\n  proto._getTopColGroup = function (colSpan) {\n    if (colSpan < 2) {\n      // if brick spans only one column, use all the column Ys\n      return this.colYs;\n    }\n\n    var colGroup = [];\n    // how many different places could this brick fit horizontally\n    var groupCount = this.cols + 1 - colSpan;\n    // for each group potential horizontal position\n    for (var i = 0; i < groupCount; i++) {\n      colGroup[i] = this._getColGroupY(i, colSpan);\n    }\n    return colGroup;\n  };\n\n  proto._getColGroupY = function (col, colSpan) {\n    if (colSpan < 2) {\n      return this.colYs[col];\n    }\n    // make an array of colY values for that one group\n    var groupColYs = this.colYs.slice(col, col + colSpan);\n    // and get the max value of the array\n    return Math.max.apply(Math, groupColYs);\n  };\n\n  // get column position based on horizontal index. #873\n  proto._getHorizontalColPosition = function (colSpan, item) {\n    var col = this.horizontalColIndex % this.cols;\n    var isOver = colSpan > 1 && col + colSpan > this.cols;\n    // shift to next row if item can't fit on current row\n    col = isOver ? 0 : col;\n    // don't let zero-size items take up space\n    var hasSize = item.size.outerWidth && item.size.outerHeight;\n    this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;\n\n    return {\n      col: col,\n      y: this._getColGroupY(col, colSpan),\n    };\n  };\n\n  proto._manageStamp = function (stamp) {\n    var stampSize = getSize(stamp);\n    var offset = this._getElementOffset(stamp);\n    // get the columns that this stamp affects\n    var isOriginLeft = this._getOption(\"originLeft\");\n    var firstX = isOriginLeft ? offset.left : offset.right;\n    var lastX = firstX + stampSize.outerWidth;\n    var firstCol = Math.floor(firstX / this.columnWidth);\n    firstCol = Math.max(0, firstCol);\n    var lastCol = Math.floor(lastX / this.columnWidth);\n    // lastCol should not go over if multiple of columnWidth #425\n    lastCol -= lastX % this.columnWidth ? 0 : 1;\n    lastCol = Math.min(this.cols - 1, lastCol);\n    // set colYs to bottom of the stamp\n\n    var isOriginTop = this._getOption(\"originTop\");\n    var stampMaxY =\n      (isOriginTop ? offset.top : offset.bottom) + stampSize.outerHeight;\n    for (var i = firstCol; i <= lastCol; i++) {\n      this.colYs[i] = Math.max(stampMaxY, this.colYs[i]);\n    }\n  };\n\n  proto._getContainerSize = function () {\n    this.maxY = Math.max.apply(Math, this.colYs);\n    var size = {\n      height: this.maxY,\n    };\n\n    if (this._getOption(\"fitWidth\")) {\n      size.width = this._getContainerFitWidth();\n    }\n\n    return size;\n  };\n\n  proto._getContainerFitWidth = function () {\n    var unusedCols = 0;\n    // count unused columns\n    var i = this.cols;\n    while (--i) {\n      if (this.colYs[i] !== 0) {\n        break;\n      }\n      unusedCols++;\n    }\n    // fit container to columns that have been used\n    return (this.cols - unusedCols) * this.columnWidth - this.gutter;\n  };\n\n  proto.needsResizeLayout = function () {\n    var previousWidth = this.containerWidth;\n    this.getContainerWidth();\n    return previousWidth != this.containerWidth;\n  };\n\n  return Masonry;\n});\n\n/*!\n * Masonry layout mode\n * sub-classes Masonry\n * https://masonry.desandro.com\n */\n\n(function (window, factory) {\n  // universal module definition\n  /* jshint strict: false */ /*globals define, module, require */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"isotope-layout/js/layout-modes/masonry\", [\n      \"../layout-mode\",\n      \"masonry-layout/masonry\",\n    ], factory);\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory(\n      require(\"../layout-mode\"),\n      require(\"masonry-layout\")\n    );\n  } else {\n    // browser global\n    factory(window.Isotope.LayoutMode, window.Masonry);\n  }\n})(window, function factory(LayoutMode, Masonry) {\n  \"use strict\";\n\n  // -------------------------- masonryDefinition -------------------------- //\n\n  // create an Outlayer layout class\n  var MasonryMode = LayoutMode.create(\"masonry\");\n\n  var proto = MasonryMode.prototype;\n\n  var keepModeMethods = {\n    _getElementOffset: true,\n    layout: true,\n    _getMeasurement: true,\n  };\n\n  // inherit Masonry prototype\n  for (var method in Masonry.prototype) {\n    // do not inherit mode methods\n    if (!keepModeMethods[method]) {\n      proto[method] = Masonry.prototype[method];\n    }\n  }\n\n  var measureColumns = proto.measureColumns;\n  proto.measureColumns = function () {\n    // set items, used if measuring first item\n    this.items = this.isotope.filteredItems;\n    measureColumns.call(this);\n  };\n\n  // point to mode options for fitWidth\n  var _getOption = proto._getOption;\n  proto._getOption = function (option) {\n    if (option == \"fitWidth\") {\n      return this.options.isFitWidth !== undefined\n        ? this.options.isFitWidth\n        : this.options.fitWidth;\n    }\n    return _getOption.apply(this.isotope, arguments);\n  };\n\n  return MasonryMode;\n});\n\n/**\n * fitRows layout mode\n */\n\n(function (window, factory) {\n  // universal module definition\n  /* jshint strict: false */ /*globals define, module, require */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"isotope-layout/js/layout-modes/fit-rows\", [\n      \"../layout-mode\",\n    ], factory);\n  } else if (typeof exports == \"object\") {\n    // CommonJS\n    module.exports = factory(require(\"../layout-mode\"));\n  } else {\n    // browser global\n    factory(window.Isotope.LayoutMode);\n  }\n})(window, function factory(LayoutMode) {\n  \"use strict\";\n\n  var FitRows = LayoutMode.create(\"fitRows\");\n\n  var proto = FitRows.prototype;\n\n  proto._resetLayout = function () {\n    this.x = 0;\n    this.y = 0;\n    this.maxY = 0;\n    this._getMeasurement(\"gutter\", \"outerWidth\");\n  };\n\n  proto._getItemLayoutPosition = function (item) {\n    item.getSize();\n\n    var itemWidth = item.size.outerWidth + this.gutter;\n    // if this element cannot fit in the current row\n    var containerWidth = this.isotope.size.innerWidth + this.gutter;\n    if (this.x !== 0 && itemWidth + this.x > containerWidth) {\n      this.x = 0;\n      this.y = this.maxY;\n    }\n\n    var position = {\n      x: this.x,\n      y: this.y,\n    };\n\n    this.maxY = Math.max(this.maxY, this.y + item.size.outerHeight);\n    this.x += itemWidth;\n\n    return position;\n  };\n\n  proto._getContainerSize = function () {\n    return { height: this.maxY };\n  };\n\n  return FitRows;\n});\n\n/**\n * vertical layout mode\n */\n\n(function (window, factory) {\n  // universal module definition\n  /* jshint strict: false */ /*globals define, module, require */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define(\"isotope-layout/js/layout-modes/vertical\", [\n      \"../layout-mode\",\n    ], factory);\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory(require(\"../layout-mode\"));\n  } else {\n    // browser global\n    factory(window.Isotope.LayoutMode);\n  }\n})(window, function factory(LayoutMode) {\n  \"use strict\";\n\n  var Vertical = LayoutMode.create(\"vertical\", {\n    horizontalAlignment: 0,\n  });\n\n  var proto = Vertical.prototype;\n\n  proto._resetLayout = function () {\n    this.y = 0;\n  };\n\n  proto._getItemLayoutPosition = function (item) {\n    item.getSize();\n    var x =\n      (this.isotope.size.innerWidth - item.size.outerWidth) *\n      this.options.horizontalAlignment;\n    var y = this.y;\n    this.y += item.size.outerHeight;\n    return { x: x, y: y };\n  };\n\n  proto._getContainerSize = function () {\n    return { height: this.y };\n  };\n\n  return Vertical;\n});\n\n/*!\n * Isotope v3.0.6\n *\n * Licensed GPLv3 for open source use\n * or Isotope Commercial License for commercial use\n *\n * https://isotope.metafizzy.co\n * Copyright 2010-2018 Metafizzy\n */\n\n(function (window, factory) {\n  // universal module definition\n  /* jshint strict: false */ /*globals define, module, require */\n  if (typeof define == \"function\" && define.amd) {\n    // AMD\n    define([\n      \"outlayer/outlayer\",\n      \"get-size/get-size\",\n      \"desandro-matches-selector/matches-selector\",\n      \"fizzy-ui-utils/utils\",\n      \"isotope-layout/js/item\",\n      \"isotope-layout/js/layout-mode\",\n      // include default layout modes\n      \"isotope-layout/js/layout-modes/masonry\",\n      \"isotope-layout/js/layout-modes/fit-rows\",\n      \"isotope-layout/js/layout-modes/vertical\",\n    ], function (Outlayer, getSize, matchesSelector, utils, Item, LayoutMode) {\n      return factory(\n        window,\n        Outlayer,\n        getSize,\n        matchesSelector,\n        utils,\n        Item,\n        LayoutMode\n      );\n    });\n  } else if (typeof module == \"object\" && module.exports) {\n    // CommonJS\n    module.exports = factory(\n      window,\n      require(\"outlayer\"),\n      require(\"get-size\"),\n      require(\"desandro-matches-selector\"),\n      require(\"fizzy-ui-utils\"),\n      require(\"isotope-layout/js/item\"),\n      require(\"isotope-layout/js/layout-mode\"),\n      // include default layout modes\n      require(\"isotope-layout/js/layout-modes/masonry\"),\n      require(\"isotope-layout/js/layout-modes/fit-rows\"),\n      require(\"isotope-layout/js/layout-modes/vertical\")\n    );\n  } else {\n    // browser global\n    window.Isotope = factory(\n      window,\n      window.Outlayer,\n      window.getSize,\n      window.matchesSelector,\n      window.fizzyUIUtils,\n      window.Isotope.Item,\n      window.Isotope.LayoutMode\n    );\n  }\n})(\n  window,\n  function factory(\n    window,\n    Outlayer,\n    getSize,\n    matchesSelector,\n    utils,\n    Item,\n    LayoutMode\n  ) {\n    // -------------------------- vars -------------------------- //\n\n    var jQuery = window.jQuery;\n\n    // -------------------------- helpers -------------------------- //\n\n    var trim = String.prototype.trim\n      ? function (str) {\n          return str.trim();\n        }\n      : function (str) {\n          return str.replace(/^\\s+|\\s+$/g, \"\");\n        };\n\n    // -------------------------- isotopeDefinition -------------------------- //\n\n    // create an Outlayer layout class\n    var Isotope = Outlayer.create(\"isotope\", {\n      layoutMode: \"masonry\",\n      isJQueryFiltering: true,\n      sortAscending: true,\n    });\n\n    Isotope.Item = Item;\n    Isotope.LayoutMode = LayoutMode;\n\n    var proto = Isotope.prototype;\n\n    proto._create = function () {\n      this.itemGUID = 0;\n      // functions that sort items\n      this._sorters = {};\n      this._getSorters();\n      // call super\n      Outlayer.prototype._create.call(this);\n\n      // create layout modes\n      this.modes = {};\n      // start filteredItems with all items\n      this.filteredItems = this.items;\n      // keep of track of sortBys\n      this.sortHistory = [\"original-order\"];\n      // create from registered layout modes\n      for (var name in LayoutMode.modes) {\n        this._initLayoutMode(name);\n      }\n    };\n\n    proto.reloadItems = function () {\n      // reset item ID counter\n      this.itemGUID = 0;\n      // call super\n      Outlayer.prototype.reloadItems.call(this);\n    };\n\n    proto._itemize = function () {\n      var items = Outlayer.prototype._itemize.apply(this, arguments);\n      // assign ID for original-order\n      for (var i = 0; i < items.length; i++) {\n        var item = items[i];\n        item.id = this.itemGUID++;\n      }\n      this._updateItemsSortData(items);\n      return items;\n    };\n\n    // -------------------------- layout -------------------------- //\n\n    proto._initLayoutMode = function (name) {\n      var Mode = LayoutMode.modes[name];\n      // set mode options\n      // HACK extend initial options, back-fill in default options\n      var initialOpts = this.options[name] || {};\n      this.options[name] = Mode.options\n        ? utils.extend(Mode.options, initialOpts)\n        : initialOpts;\n      // init layout mode instance\n      this.modes[name] = new Mode(this);\n    };\n\n    proto.layout = function () {\n      // if first time doing layout, do all magic\n      if (!this._isLayoutInited && this._getOption(\"initLayout\")) {\n        this.arrange();\n        return;\n      }\n      this._layout();\n    };\n\n    // private method to be used in layout() & magic()\n    proto._layout = function () {\n      // don't animate first layout\n      var isInstant = this._getIsInstant();\n      // layout flow\n      this._resetLayout();\n      this._manageStamps();\n      this.layoutItems(this.filteredItems, isInstant);\n\n      // flag for initalized\n      this._isLayoutInited = true;\n    };\n\n    // filter + sort + layout\n    proto.arrange = function (opts) {\n      // set any options pass\n      this.option(opts);\n      this._getIsInstant();\n      // filter, sort, and layout\n\n      // filter\n      var filtered = this._filter(this.items);\n      this.filteredItems = filtered.matches;\n\n      this._bindArrangeComplete();\n\n      if (this._isInstant) {\n        this._noTransition(this._hideReveal, [filtered]);\n      } else {\n        this._hideReveal(filtered);\n      }\n\n      this._sort();\n      this._layout();\n    };\n    // alias to _init for main plugin method\n    proto._init = proto.arrange;\n\n    proto._hideReveal = function (filtered) {\n      this.reveal(filtered.needReveal);\n      this.hide(filtered.needHide);\n    };\n\n    // HACK\n    // Don't animate/transition first layout\n    // Or don't animate/transition other layouts\n    proto._getIsInstant = function () {\n      var isLayoutInstant = this._getOption(\"layoutInstant\");\n      var isInstant =\n        isLayoutInstant !== undefined ? isLayoutInstant : !this._isLayoutInited;\n      this._isInstant = isInstant;\n      return isInstant;\n    };\n\n    // listen for layoutComplete, hideComplete and revealComplete\n    // to trigger arrangeComplete\n    proto._bindArrangeComplete = function () {\n      // listen for 3 events to trigger arrangeComplete\n      var isLayoutComplete, isHideComplete, isRevealComplete;\n      var _this = this;\n      function arrangeParallelCallback() {\n        if (isLayoutComplete && isHideComplete && isRevealComplete) {\n          _this.dispatchEvent(\"arrangeComplete\", null, [_this.filteredItems]);\n        }\n      }\n      this.once(\"layoutComplete\", function () {\n        isLayoutComplete = true;\n        arrangeParallelCallback();\n      });\n      this.once(\"hideComplete\", function () {\n        isHideComplete = true;\n        arrangeParallelCallback();\n      });\n      this.once(\"revealComplete\", function () {\n        isRevealComplete = true;\n        arrangeParallelCallback();\n      });\n    };\n\n    // -------------------------- filter -------------------------- //\n\n    proto._filter = function (items) {\n      var filter = this.options.filter;\n      filter = filter || \"*\";\n      var matches = [];\n      var hiddenMatched = [];\n      var visibleUnmatched = [];\n\n      var test = this._getFilterTest(filter);\n\n      // test each item\n      for (var i = 0; i < items.length; i++) {\n        var item = items[i];\n        if (item.isIgnored) {\n          continue;\n        }\n        // add item to either matched or unmatched group\n        var isMatched = test(item);\n        // item.isFilterMatched = isMatched;\n        // add to matches if its a match\n        if (isMatched) {\n          matches.push(item);\n        }\n        // add to additional group if item needs to be hidden or revealed\n        if (isMatched && item.isHidden) {\n          hiddenMatched.push(item);\n        } else if (!isMatched && !item.isHidden) {\n          visibleUnmatched.push(item);\n        }\n      }\n\n      // return collections of items to be manipulated\n      return {\n        matches: matches,\n        needReveal: hiddenMatched,\n        needHide: visibleUnmatched,\n      };\n    };\n\n    // get a jQuery, function, or a matchesSelector test given the filter\n    proto._getFilterTest = function (filter) {\n      if (jQuery && this.options.isJQueryFiltering) {\n        // use jQuery\n        return function (item) {\n          return jQuery(item.element).is(filter);\n        };\n      }\n      if (typeof filter == \"function\") {\n        // use filter as function\n        return function (item) {\n          return filter(item.element);\n        };\n      }\n      // default, use filter as selector string\n      return function (item) {\n        return matchesSelector(item.element, filter);\n      };\n    };\n\n    // -------------------------- sorting -------------------------- //\n\n    /**\n     * @params {Array} elems\n     * @public\n     */\n    proto.updateSortData = function (elems) {\n      // get items\n      var items;\n      if (elems) {\n        elems = utils.makeArray(elems);\n        items = this.getItems(elems);\n      } else {\n        // update all items if no elems provided\n        items = this.items;\n      }\n\n      this._getSorters();\n      this._updateItemsSortData(items);\n    };\n\n    proto._getSorters = function () {\n      var getSortData = this.options.getSortData;\n      for (var key in getSortData) {\n        var sorter = getSortData[key];\n        this._sorters[key] = mungeSorter(sorter);\n      }\n    };\n\n    /**\n     * @params {Array} items - of Isotope.Items\n     * @private\n     */\n    proto._updateItemsSortData = function (items) {\n      // do not update if no items\n      var len = items && items.length;\n\n      for (var i = 0; len && i < len; i++) {\n        var item = items[i];\n        item.updateSortData();\n      }\n    };\n\n    // ----- munge sorter ----- //\n\n    // encapsulate this, as we just need mungeSorter\n    // other functions in here are just for munging\n    var mungeSorter = (function () {\n      // add a magic layer to sorters for convienent shorthands\n      // `.foo-bar` will use the text of .foo-bar querySelector\n      // `[foo-bar]` will use attribute\n      // you can also add parser\n      // `.foo-bar parseInt` will parse that as a number\n      function mungeSorter(sorter) {\n        // if not a string, return function or whatever it is\n        if (typeof sorter != \"string\") {\n          return sorter;\n        }\n        // parse the sorter string\n        var args = trim(sorter).split(\" \");\n        var query = args[0];\n        // check if query looks like [an-attribute]\n        var attrMatch = query.match(/^\\[(.+)\\]$/);\n        var attr = attrMatch && attrMatch[1];\n        var getValue = getValueGetter(attr, query);\n        // use second argument as a parser\n        var parser = Isotope.sortDataParsers[args[1]];\n        // parse the value, if there was a parser\n        sorter = parser\n          ? function (elem) {\n              return elem && parser(getValue(elem));\n            }\n          : // otherwise just return value\n            function (elem) {\n              return elem && getValue(elem);\n            };\n\n        return sorter;\n      }\n\n      // get an attribute getter, or get text of the querySelector\n      function getValueGetter(attr, query) {\n        // if query looks like [foo-bar], get attribute\n        if (attr) {\n          return function getAttribute(elem) {\n            return elem.getAttribute(attr);\n          };\n        }\n\n        // otherwise, assume its a querySelector, and get its text\n        return function getChildText(elem) {\n          var child = elem.querySelector(query);\n          return child && child.textContent;\n        };\n      }\n\n      return mungeSorter;\n    })();\n\n    // parsers used in getSortData shortcut strings\n    Isotope.sortDataParsers = {\n      parseInt: function (val) {\n        return parseInt(val, 10);\n      },\n      parseFloat: function (val) {\n        return parseFloat(val);\n      },\n    };\n\n    // ----- sort method ----- //\n\n    // sort filteredItem order\n    proto._sort = function () {\n      if (!this.options.sortBy) {\n        return;\n      }\n      // keep track of sortBy History\n      var sortBys = utils.makeArray(this.options.sortBy);\n      if (!this._getIsSameSortBy(sortBys)) {\n        // concat all sortBy and sortHistory, add to front, oldest goes in last\n        this.sortHistory = sortBys.concat(this.sortHistory);\n      }\n      // sort magic\n      var itemSorter = getItemSorter(\n        this.sortHistory,\n        this.options.sortAscending\n      );\n      this.filteredItems.sort(itemSorter);\n    };\n\n    // check if sortBys is same as start of sortHistory\n    proto._getIsSameSortBy = function (sortBys) {\n      for (var i = 0; i < sortBys.length; i++) {\n        if (sortBys[i] != this.sortHistory[i]) {\n          return false;\n        }\n      }\n      return true;\n    };\n\n    // returns a function used for sorting\n    function getItemSorter(sortBys, sortAsc) {\n      return function sorter(itemA, itemB) {\n        // cycle through all sortKeys\n        for (var i = 0; i < sortBys.length; i++) {\n          var sortBy = sortBys[i];\n          var a = itemA.sortData[sortBy];\n          var b = itemB.sortData[sortBy];\n          if (a > b || a < b) {\n            // if sortAsc is an object, use the value given the sortBy key\n            var isAscending =\n              sortAsc[sortBy] !== undefined ? sortAsc[sortBy] : sortAsc;\n            var direction = isAscending ? 1 : -1;\n            return (a > b ? 1 : -1) * direction;\n          }\n        }\n        return 0;\n      };\n    }\n\n    // -------------------------- methods -------------------------- //\n\n    // get layout mode\n    proto._mode = function () {\n      var layoutMode = this.options.layoutMode;\n      var mode = this.modes[layoutMode];\n      if (!mode) {\n        // TODO console.error\n        throw new Error(\"No layout mode: \" + layoutMode);\n      }\n      // HACK sync mode's options\n      // any options set after init for layout mode need to be synced\n      mode.options = this.options[layoutMode];\n      return mode;\n    };\n\n    proto._resetLayout = function () {\n      // trigger original reset layout\n      Outlayer.prototype._resetLayout.call(this);\n      this._mode()._resetLayout();\n    };\n\n    proto._getItemLayoutPosition = function (item) {\n      return this._mode()._getItemLayoutPosition(item);\n    };\n\n    proto._manageStamp = function (stamp) {\n      this._mode()._manageStamp(stamp);\n    };\n\n    proto._getContainerSize = function () {\n      return this._mode()._getContainerSize();\n    };\n\n    proto.needsResizeLayout = function () {\n      return this._mode().needsResizeLayout();\n    };\n\n    // -------------------------- adding & removing -------------------------- //\n\n    // HEADS UP overwrites default Outlayer appended\n    proto.appended = function (elems) {\n      var items = this.addItems(elems);\n      if (!items.length) {\n        return;\n      }\n      // filter, layout, reveal new items\n      var filteredItems = this._filterRevealAdded(items);\n      // add to filteredItems\n      this.filteredItems = this.filteredItems.concat(filteredItems);\n    };\n\n    // HEADS UP overwrites default Outlayer prepended\n    proto.prepended = function (elems) {\n      var items = this._itemize(elems);\n      if (!items.length) {\n        return;\n      }\n      // start new layout\n      this._resetLayout();\n      this._manageStamps();\n      // filter, layout, reveal new items\n      var filteredItems = this._filterRevealAdded(items);\n      // layout previous items\n      this.layoutItems(this.filteredItems);\n      // add to items and filteredItems\n      this.filteredItems = filteredItems.concat(this.filteredItems);\n      this.items = items.concat(this.items);\n    };\n\n    proto._filterRevealAdded = function (items) {\n      var filtered = this._filter(items);\n      this.hide(filtered.needHide);\n      // reveal all new items\n      this.reveal(filtered.matches);\n      // layout new items, no transition\n      this.layoutItems(filtered.matches, true);\n      return filtered.matches;\n    };\n\n    /**\n     * Filter, sort, and layout newly-appended item elements\n     * @param {Array or NodeList or Element} elems\n     */\n    proto.insert = function (elems) {\n      var items = this.addItems(elems);\n      if (!items.length) {\n        return;\n      }\n      // append item elements\n      var i, item;\n      var len = items.length;\n      for (i = 0; i < len; i++) {\n        item = items[i];\n        this.element.appendChild(item.element);\n      }\n      // filter new stuff\n      var filteredInsertItems = this._filter(items).matches;\n      // set flag\n      for (i = 0; i < len; i++) {\n        items[i].isLayoutInstant = true;\n      }\n      this.arrange();\n      // reset flag\n      for (i = 0; i < len; i++) {\n        delete items[i].isLayoutInstant;\n      }\n      this.reveal(filteredInsertItems);\n    };\n\n    var _remove = proto.remove;\n    proto.remove = function (elems) {\n      elems = utils.makeArray(elems);\n      var removeItems = this.getItems(elems);\n      // do regular thing\n      _remove.call(this, elems);\n      // bail if no items to remove\n      var len = removeItems && removeItems.length;\n      // remove elems from filteredItems\n      for (var i = 0; len && i < len; i++) {\n        var item = removeItems[i];\n        // remove item from collection\n        utils.removeFrom(this.filteredItems, item);\n      }\n    };\n\n    proto.shuffle = function () {\n      // update random sortData\n      for (var i = 0; i < this.items.length; i++) {\n        var item = this.items[i];\n        item.sortData.random = Math.random();\n      }\n      this.options.sortBy = \"random\";\n      this._sort();\n      this._layout();\n    };\n\n    /**\n     * trigger fn without transition\n     * kind of hacky to have this in the first place\n     * @param {Function} fn\n     * @param {Array} args\n     * @returns ret\n     * @private\n     */\n    proto._noTransition = function (fn, args) {\n      // save transitionDuration before disabling\n      var transitionDuration = this.options.transitionDuration;\n      // disable transition\n      this.options.transitionDuration = 0;\n      // do it\n      var returnValue = fn.apply(this, args);\n      // re-enable transition for reveal\n      this.options.transitionDuration = transitionDuration;\n      return returnValue;\n    };\n\n    // ----- helper methods ----- //\n\n    /**\n     * getter method for getting filtered item elements\n     * @returns {Array} elems - collection of item elements\n     */\n    proto.getFilteredItemElements = function () {\n      return this.filteredItems.map(function (item) {\n        return item.element;\n      });\n    };\n\n    // -----  ----- //\n\n    return Isotope;\n  }\n);\n"
  },
  {
    "path": "src/html/vendor/prism.css",
    "content": "/* PrismJS 1.23.0\nhttps://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+c+glsl+json+json5 */\n/**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n  color: black;\n  background: none;\n  text-shadow: 0 1px white;\n  font-family: Consolas, Monaco, \"Andale Mono\", \"Ubuntu Mono\", monospace;\n  font-size: 10px;\n  text-align: left;\n  white-space: pre;\n  word-spacing: normal;\n  word-break: normal;\n  word-wrap: normal;\n  line-height: 1.2;\n\n  -moz-tab-size: 2;\n  -o-tab-size: 2;\n  tab-size: 2;\n\n  -webkit-hyphens: none;\n  -moz-hyphens: none;\n  -ms-hyphens: none;\n  hyphens: none;\n}\n\npre[class*=\"language-\"]::-moz-selection,\npre[class*=\"language-\"] ::-moz-selection,\ncode[class*=\"language-\"]::-moz-selection,\ncode[class*=\"language-\"] ::-moz-selection {\n  text-shadow: none;\n  background: #b3d4fc;\n}\n\npre[class*=\"language-\"]::selection,\npre[class*=\"language-\"] ::selection,\ncode[class*=\"language-\"]::selection,\ncode[class*=\"language-\"] ::selection {\n  text-shadow: none;\n  background: #b3d4fc;\n}\n\n@media print {\n  code[class*=\"language-\"],\n  pre[class*=\"language-\"] {\n    text-shadow: none;\n  }\n}\n\n/* Code blocks */\npre[class*=\"language-\"] {\n  padding: 10px 10px 0 10px;\n  margin: 0.5em 0;\n  overflow: auto;\n}\n\n:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"] {\n  background: #f8f8f8;\n}\n\n/* Inline code */\n:not(pre) > code[class*=\"language-\"] {\n  padding: 0.1em;\n  border-radius: 0.3em;\n  white-space: normal;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n  color: slategray;\n}\n\n.token.punctuation {\n  color: #999;\n}\n\n.token.namespace {\n  opacity: 0.7;\n}\n\n.token.property,\n.token.tag,\n.token.boolean,\n.token.number,\n.token.constant,\n.token.symbol,\n.token.deleted {\n  color: #905;\n}\n\n.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted {\n  color: #690;\n}\n\n.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n  color: #9a6e3a;\n  /* This background color was intended by the author of this theme. */\n  background: hsla(0, 0%, 100%, 0.5);\n}\n\n.token.atrule,\n.token.attr-value,\n.token.keyword {\n  color: #07a;\n}\n\n.token.function,\n.token.class-name {\n  color: #dd4a68;\n}\n\n.token.regex,\n.token.important,\n.token.variable {\n  color: #e90;\n}\n\n.token.important,\n.token.bold {\n  font-weight: bold;\n}\n.token.italic {\n  font-style: italic;\n}\n\n.token.entity {\n  cursor: help;\n}\n"
  },
  {
    "path": "src/html/vendor/prism.js",
    "content": "/* PrismJS 1.23.0\nhttps://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apex+apl+applescript+aql+arduino+arff+asciidoc+aspnet+asm6502+autohotkey+autoit+bash+basic+batch+bbcode+birb+bison+bnf+brainfuck+brightscript+bro+bsl+c+csharp+cpp+cfscript+chaiscript+cil+clojure+cmake+coffeescript+concurnas+csp+crystal+css-extras+cypher+d+dart+dataweave+dax+dhall+diff+django+dns-zone-file+docker+dot+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+firestore-security-rules+flow+fortran+ftl+gml+gcode+gdscript+gedcom+gherkin+git+glsl+go+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+http+hpkp+hsts+ichigojam+icon+idris+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keyman+kotlin+kumir+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+lolcode+lua+makefile+markdown+markup-templating+matlab+mel+mizar+mongodb+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+pascaligo+psl+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plsql+powerquery+powershell+processing+prolog+promql+properties+protobuf+pug+puppet+pure+purebasic+purescript+python+q+qml+qore+r+racket+jsx+tsx+reason+regex+renpy+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+sml+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+squirrel+stan+iecst+stylus+swift+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+turtle+twig+typescript+typoscript+unrealscript+uri+v+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+wiki+xeora+xml-doc+xojo+xquery+yaml+yang+zig */\nvar _self=\"undefined\"!=typeof window?window:\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\\blang(?:uage)?-([\\w-]+)\\b/i,n=0,M={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/\\u00a0/g,\" \")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,\"__id\",{value:++n}),e.__id},clone:function r(e,t){var a,n;switch(t=t||{},M.util.type(e)){case\"Object\":if(n=M.util.objId(e),t[n])return t[n];for(var i in a={},t[n]=a,e)e.hasOwnProperty(i)&&(a[i]=r(e[i],t));return a;case\"Array\":return n=M.util.objId(e),t[n]?t[n]:(a=[],t[n]=a,e.forEach(function(e,n){a[n]=r(e,t)}),a);default:return e}},getLanguage:function(e){for(;e&&!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,\"none\"])[1].toLowerCase():\"none\"},currentScript:function(){if(\"undefined\"==typeof document)return null;if(\"currentScript\"in document)return document.currentScript;try{throw new Error}catch(e){var n=(/at [^(\\r\\n]*\\((.*):.+:.+\\)$/i.exec(e.stack)||[])[1];if(n){var r=document.getElementsByTagName(\"script\");for(var t in r)if(r[t].src==n)return r[t]}return null}},isActive:function(e,n,r){for(var t=\"no-\"+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(t))return!1;e=e.parentElement}return!!r}},languages:{extend:function(e,n){var r=M.util.clone(M.languages[e]);for(var t in n)r[t]=n[t];return r},insertBefore:function(r,e,n,t){var a=(t=t||M.languages)[r],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==e)for(var o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);n.hasOwnProperty(l)||(i[l]=a[l])}var s=t[r];return t[r]=i,M.languages.DFS(M.languages,function(e,n){n===s&&e!=r&&(this[e]=i)}),i},DFS:function e(n,r,t,a){a=a||{};var i=M.util.objId;for(var l in n)if(n.hasOwnProperty(l)){r.call(n,l,n[l],t||l);var o=n[l],s=M.util.type(o);\"Object\"!==s||a[i(o)]?\"Array\"!==s||a[i(o)]||(a[i(o)]=!0,e(o,r,l,a)):(a[i(o)]=!0,e(o,r,null,a))}}},plugins:{},highlightAll:function(e,n){M.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,r){var t={callback:r,container:e,selector:'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'};M.hooks.run(\"before-highlightall\",t),t.elements=Array.prototype.slice.apply(t.container.querySelectorAll(t.selector)),M.hooks.run(\"before-all-elements-highlight\",t);for(var a,i=0;a=t.elements[i++];)M.highlightElement(a,!0===n,t.callback)},highlightElement:function(e,n,r){var t=M.util.getLanguage(e),a=M.languages[t];e.className=e.className.replace(c,\"\").replace(/\\s+/g,\" \")+\" language-\"+t;var i=e.parentElement;i&&\"pre\"===i.nodeName.toLowerCase()&&(i.className=i.className.replace(c,\"\").replace(/\\s+/g,\" \")+\" language-\"+t);var l={element:e,language:t,grammar:a,code:e.textContent};function o(e){l.highlightedCode=e,M.hooks.run(\"before-insert\",l),l.element.innerHTML=l.highlightedCode,M.hooks.run(\"after-highlight\",l),M.hooks.run(\"complete\",l),r&&r.call(l.element)}if(M.hooks.run(\"before-sanity-check\",l),!l.code)return M.hooks.run(\"complete\",l),void(r&&r.call(l.element));if(M.hooks.run(\"before-highlight\",l),l.grammar)if(n&&u.Worker){var s=new Worker(M.filename);s.onmessage=function(e){o(e.data)},s.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else o(M.highlight(l.code,l.grammar,l.language));else o(M.util.encode(l.code))},highlight:function(e,n,r){var t={code:e,grammar:n,language:r};return M.hooks.run(\"before-tokenize\",t),t.tokens=M.tokenize(t.code,t.grammar),M.hooks.run(\"after-tokenize\",t),W.stringify(M.util.encode(t.tokens),t.language)},tokenize:function(e,n){var r=n.rest;if(r){for(var t in r)n[t]=r[t];delete n.rest}var a=new i;return I(a,a.head,e),function e(n,r,t,a,i,l){for(var o in t)if(t.hasOwnProperty(o)&&t[o]){var s=t[o];s=Array.isArray(s)?s:[s];for(var u=0;u<s.length;++u){if(l&&l.cause==o+\",\"+u)return;var c=s[u],g=c.inside,f=!!c.lookbehind,h=!!c.greedy,d=c.alias;if(h&&!c.pattern.global){var v=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,v+\"g\")}for(var p=c.pattern||c,m=a.next,y=i;m!==r.tail&&!(l&&y>=l.reach);y+=m.value.length,m=m.next){var k=m.value;if(r.length>n.length)return;if(!(k instanceof W)){var b,x=1;if(h){if(!(b=z(p,y,n,f)))break;var w=b.index,A=b.index+b[0].length,P=y;for(P+=m.value.length;P<=w;)m=m.next,P+=m.value.length;if(P-=m.value.length,y=P,m.value instanceof W)continue;for(var S=m;S!==r.tail&&(P<A||\"string\"==typeof S.value);S=S.next)x++,P+=S.value.length;x--,k=n.slice(y,P),b.index-=y}else if(!(b=z(p,0,k,f)))continue;var w=b.index,E=b[0],O=k.slice(0,w),L=k.slice(w+E.length),N=y+k.length;l&&N>l.reach&&(l.reach=N);var j=m.prev;O&&(j=I(r,j,O),y+=O.length),q(r,j,x);var C=new W(o,g?M.tokenize(E,g):E,d,E);if(m=I(r,j,C),L&&I(r,m,L),1<x){var _={cause:o+\",\"+u,reach:N};e(n,r,t,m.prev,y,_),l&&_.reach>l.reach&&(l.reach=_.reach)}}}}}}(e,a,n,a.head,0),function(e){var n=[],r=e.head.next;for(;r!==e.tail;)n.push(r.value),r=r.next;return n}(a)},hooks:{all:{},add:function(e,n){var r=M.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function(e,n){var r=M.hooks.all[e];if(r&&r.length)for(var t,a=0;t=r[a++];)t(n)}},Token:W};function W(e,n,r,t){this.type=e,this.content=n,this.alias=r,this.length=0|(t||\"\").length}function z(e,n,r,t){e.lastIndex=n;var a=e.exec(r);if(a&&t&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,r){var t=n.next,a={value:r,prev:n,next:t};return n.next=a,t.prev=a,e.length++,a}function q(e,n,r){for(var t=n.next,a=0;a<r&&t!==e.tail;a++)t=t.next;(n.next=t).prev=n,e.length-=a}if(u.Prism=M,W.stringify=function n(e,r){if(\"string\"==typeof e)return e;if(Array.isArray(e)){var t=\"\";return e.forEach(function(e){t+=n(e,r)}),t}var a={type:e.type,content:n(e.content,r),tag:\"span\",classes:[\"token\",e.type],attributes:{},language:r},i=e.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),M.hooks.run(\"wrap\",a);var l=\"\";for(var o in a.attributes)l+=\" \"+o+'=\"'+(a.attributes[o]||\"\").replace(/\"/g,\"&quot;\")+'\"';return\"<\"+a.tag+' class=\"'+a.classes.join(\" \")+'\"'+l+\">\"+a.content+\"</\"+a.tag+\">\"},!u.document)return u.addEventListener&&(M.disableWorkerMessageHandler||u.addEventListener(\"message\",function(e){var n=JSON.parse(e.data),r=n.language,t=n.code,a=n.immediateClose;u.postMessage(M.highlight(t,M.languages[r],r)),a&&u.close()},!1)),M;var e=M.util.currentScript();function r(){M.manual||M.highlightAll()}if(e&&(M.filename=e.src,e.hasAttribute(\"data-manual\")&&(M.manual=!0)),!M.manual){var t=document.readyState;\"loading\"===t||\"interactive\"===t&&e&&e.defer?document.addEventListener(\"DOMContentLoaded\",r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)}return M}(_self);\"undefined\"!=typeof module&&module.exports&&(module.exports=Prism),\"undefined\"!=typeof global&&(global.Prism=Prism);\nPrism.languages.markup={comment:/<!--[\\s\\S]*?-->/,prolog:/<\\?[\\s\\S]+?\\?>/,doctype:{pattern:/<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,greedy:!0,inside:{\"internal-subset\":{pattern:/(\\[)[\\s\\S]+(?=\\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/\"[^\"]*\"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\\]]/,\"doctype-tag\":/^DOCTYPE/,name:/[^\\s<>'\"]+/}},cdata:/<!\\[CDATA\\[[\\s\\S]*?]]>/i,tag:{pattern:/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,greedy:!0,inside:{tag:{pattern:/^<\\/?[^\\s>\\/]+/,inside:{punctuation:/^<\\/?/,namespace:/^[^\\s>\\/:]+:/}},\"attr-value\":{pattern:/=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:\"attr-equals\"},/\"|'/]}},punctuation:/\\/?>/,\"attr-name\":{pattern:/[^\\s>\\/]+/,inside:{namespace:/^[^\\s>\\/:]+:/}}}},entity:[{pattern:/&[\\da-z]{1,8};/i,alias:\"named-entity\"},/&#x?[\\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[\"internal-subset\"].inside=Prism.languages.markup,Prism.hooks.add(\"wrap\",function(a){\"entity\"===a.type&&(a.attributes.title=a.content.replace(/&amp;/,\"&\"))}),Object.defineProperty(Prism.languages.markup.tag,\"addInlined\",{value:function(a,e){var s={};s[\"language-\"+e]={pattern:/(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^<!\\[CDATA\\[|\\]\\]>$/i;var n={\"included-cdata\":{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,inside:s}};n[\"language-\"+e]={pattern:/[\\s\\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp(\"(<__[^>]*>)(?:<!\\\\[CDATA\\\\[(?:[^\\\\]]|\\\\](?!\\\\]>))*\\\\]\\\\]>|(?!<!\\\\[CDATA\\\\[)[^])*?(?=</__>)\".replace(/__/g,function(){return a}),\"i\"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore(\"markup\",\"cdata\",t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(\"markup\",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;\n!function(s){var e=/(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;s.languages.css={comment:/\\/\\*[\\s\\S]*?\\*\\//,atrule:{pattern:/@[\\w-](?:[^;{\\s]|\\s+(?![\\s{]))*(?:;|(?=\\s*\\{))/,inside:{rule:/^@[\\w-]+/,\"selector-function-argument\":{pattern:/(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,lookbehind:!0,alias:\"selector\"},keyword:{pattern:/(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,lookbehind:!0}}},url:{pattern:RegExp(\"\\\\burl\\\\((?:\"+e.source+\"|(?:[^\\\\\\\\\\r\\n()\\\"']|\\\\\\\\[^])*)\\\\)\",\"i\"),greedy:!0,inside:{function:/^url/i,punctuation:/^\\(|\\)$/,string:{pattern:RegExp(\"^\"+e.source+\"$\"),alias:\"url\"}}},selector:RegExp(\"[^{}\\\\s](?:[^{};\\\"'\\\\s]|\\\\s+(?![\\\\s{])|\"+e.source+\")*(?=\\\\s*\\\\{)\"),string:{pattern:e,greedy:!0},property:/(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,important:/!important\\b/i,function:/[-a-z0-9]+(?=\\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined(\"style\",\"css\"),s.languages.insertBefore(\"inside\",\"attr-value\",{\"style-attr\":{pattern:/(^|[\"'\\s])style\\s*=\\s*(?:\"[^\"]*\"|'[^']*')/i,lookbehind:!0,inside:{\"attr-value\":{pattern:/=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,inside:{style:{pattern:/([\"'])[\\s\\S]+(?=[\"']$)/,lookbehind:!0,alias:\"language-css\",inside:s.languages.css},punctuation:[{pattern:/^=/,alias:\"attr-equals\"},/\"|'/]}},\"attr-name\":/^style/i}}},t.tag))}(Prism);\nPrism.languages.clike={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"class-name\":{pattern:/(\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,boolean:/\\b(?:true|false)\\b/,function:/\\w+(?=\\()/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.javascript=Prism.languages.extend(\"clike\",{\"class-name\":[Prism.languages.clike[\"class-name\"],{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\\s*)catch\\b/,lookbehind:!0},{pattern:/(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,lookbehind:!0}],function:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,number:/\\b(?:(?:0[xX](?:[\\dA-Fa-f](?:_[\\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\\d(?:_\\d)?)+n|NaN|Infinity)\\b|(?:\\b(?:\\d(?:_\\d)?)+\\.?(?:\\d(?:_\\d)?)*|\\B\\.(?:\\d(?:_\\d)?)+)(?:[Ee][+-]?(?:\\d(?:_\\d)?)+)?/,operator:/--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/}),Prism.languages.javascript[\"class-name\"][0].pattern=/(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/,Prism.languages.insertBefore(\"javascript\",\"keyword\",{regex:{pattern:/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyus]{0,6}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,lookbehind:!0,greedy:!0,inside:{\"regex-source\":{pattern:/^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,lookbehind:!0,alias:\"language-regex\",inside:Prism.languages.regex},\"regex-flags\":/[a-z]+$/,\"regex-delimiter\":/^\\/|\\/$/}},\"function-variable\":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,alias:\"function\"},parameter:[{pattern:/(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/}),Prism.languages.insertBefore(\"javascript\",\"string\",{\"template-string\":{pattern:/`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\\${)[^\\\\`])*`/,greedy:!0,inside:{\"template-punctuation\":{pattern:/^`|`$/,alias:\"string\"},interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{\"interpolation-punctuation\":{pattern:/^\\${|}$/,alias:\"punctuation\"},rest:Prism.languages.javascript}},string:/[\\s\\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined(\"script\",\"javascript\"),Prism.languages.js=Prism.languages.javascript;\nPrism.languages.abap={comment:/^\\*.*/m,string:/(`|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,\"string-template\":{pattern:/([|}])(?:\\\\.|[^\\\\|{\\r\\n])*(?=[|{])/,lookbehind:!0,alias:\"string\"},\"eol-comment\":{pattern:/(^|\\s)\".*/m,lookbehind:!0,alias:\"comment\"},keyword:{pattern:/(\\s|\\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\\/MM\\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\\/DD\\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\\/MM\\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\\/DD\\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|SELECTOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\\b/i,lookbehind:!0},number:/\\b\\d+\\b/,operator:{pattern:/(\\s)(?:\\*\\*?|<[=>]?|>=?|\\?=|[-+\\/=])(?=\\s)/,lookbehind:!0},\"string-operator\":{pattern:/(\\s)&&?(?=\\s)/,lookbehind:!0,alias:\"keyword\"},\"token-operator\":[{pattern:/(\\w)(?:->?|=>|[~|{}])(?=\\w)/,lookbehind:!0,alias:\"punctuation\"},{pattern:/[|{}]/,alias:\"punctuation\"}],punctuation:/[,.:()]/};\n!function(n){var i=\"(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)\";Prism.languages.abnf={comment:/;.*/,string:{pattern:/(?:%[is])?\"[^\"\\n\\r]*\"/,greedy:!0,inside:{punctuation:/^%[is]/}},range:{pattern:/%(?:b[01]+-[01]+|d\\d+-\\d+|x[A-F\\d]+-[A-F\\d]+)/i,alias:\"number\"},terminal:{pattern:/%(?:b[01]+(?:\\.[01]+)*|d\\d+(?:\\.\\d+)*|x[A-F\\d]+(?:\\.[A-F\\d]+)*)/i,alias:\"number\"},repetition:{pattern:/(^|[^\\w-])(?:\\d*\\*\\d*|\\d+)/,lookbehind:!0,alias:\"operator\"},definition:{pattern:/(^[ \\t]*)(?:[a-z][\\w-]*|<[^>\\r\\n]*>)(?=\\s*=)/m,lookbehind:!0,alias:\"keyword\",inside:{punctuation:/<|>/}},\"core-rule\":{pattern:RegExp(\"(?:(^|[^<\\\\w-])\"+i+\"|<\"+i+\">)(?![\\\\w-])\",\"i\"),lookbehind:!0,alias:[\"rule\",\"constant\"],inside:{punctuation:/<|>/}},rule:{pattern:/(^|[^<\\w-])[a-z][\\w-]*|<[^>\\r\\n]*>/i,lookbehind:!0,inside:{punctuation:/<|>/}},operator:/=\\/?|\\//,punctuation:/[()\\[\\]]/}}();\nPrism.languages.actionscript=Prism.languages.extend(\"javascript\",{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/,operator:/\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),Prism.languages.actionscript[\"class-name\"].alias=\"function\",Prism.languages.markup&&Prism.languages.insertBefore(\"actionscript\",\"string\",{xml:{pattern:/(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,lookbehind:!0,inside:Prism.languages.markup}});\nPrism.languages.ada={comment:/--.*/,string:/\"(?:\"\"|[^\"\\r\\f\\n])*\"/i,number:[{pattern:/\\b\\d(?:_?\\d)*#[\\dA-F](?:_?[\\dA-F])*(?:\\.[\\dA-F](?:_?[\\dA-F])*)?#(?:E[+-]?\\d(?:_?\\d)*)?/i},{pattern:/\\b\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:E[+-]?\\d(?:_?\\d)*)?\\b/i}],\"attr-name\":/\\b'\\w+/i,keyword:/\\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|new|return|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\\b/i,boolean:/\\b(?:true|false)\\b/i,operator:/<[=>]?|>=?|=>?|:=|\\/=?|\\*\\*?|[&+-]/,punctuation:/\\.\\.?|[,;():]/,char:/'.'/,variable:/\\b[a-z](?:[_a-z\\d])*\\b/i};\nPrism.languages.agda={comment:/\\{-[\\s\\S]*?(?:-\\}|$)|--.*/,string:{pattern:/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,greedy:!0},punctuation:/[(){}⦃⦄.;@]/,\"class-name\":{pattern:/((?:data|record) +)\\S+/,lookbehind:!0},function:{pattern:/(^[ \\t]*)(?!\\s)[^:\\r\\n]+(?=:)/m,lookbehind:!0},operator:{pattern:/(^\\s*|\\s)(?:[=|:∀→λ\\\\?_]|->)(?=\\s)/,lookbehind:!0},keyword:/\\b(?:Set|abstract|constructor|data|eta-equality|field|forall|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\\b/};\nPrism.languages.al={comment:/\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,string:{pattern:/'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,greedy:!0},function:{pattern:/(\\b(?:event|procedure|trigger)\\s+|(?:^|[^.])\\.\\s*)[a-z_]\\w*(?=\\s*\\()/i,lookbehind:!0},keyword:[/\\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\\b/i,/\\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\\b/i],number:/\\b(?:0x[\\da-f]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)(?:F|U(?:LL?)?|LL?)?\\b/i,boolean:/\\b(?:false|true)\\b/i,variable:/\\b(?:Curr(?:FieldNo|Page|Report)|RequestOptionsPage|x?Rec)\\b/,\"class-name\":/\\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\\b/i,operator:/\\.\\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\\b(?:and|div|mod|not|or|xor)\\b/i,punctuation:/[()\\[\\]{}:.;,]/};\nPrism.languages.antlr4={comment:/\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,string:{pattern:/'(?:\\\\.|[^\\\\'\\r\\n])*'/,greedy:!0},\"character-class\":{pattern:/\\[(?:\\\\.|[^\\\\\\]\\r\\n])*\\]/,greedy:!0,alias:\"regex\",inside:{range:{pattern:/([^[]|(?:^|[^\\\\])(?:\\\\\\\\)*\\\\\\[)-(?!\\])/,lookbehind:!0,alias:\"punctuation\"},escape:/\\\\(?:u(?:[a-fA-F\\d]{4}|\\{[a-fA-F\\d]+\\})|[pP]\\{[=\\w-]+\\}|[^\\r\\nupP])/,punctuation:/[\\[\\]]/}},action:{pattern:/\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\}/,greedy:!0,inside:{content:{pattern:/(\\{)[\\s\\S]+(?=\\})/,lookbehind:!0},punctuation:/[{}]/}},command:{pattern:/(->\\s*(?!\\s))(?:\\s*(?:,\\s*)?\\b[a-z]\\w*(?:\\s*\\([^()\\r\\n]*\\))?)+(?=\\s*;)/i,lookbehind:!0,inside:{function:/\\b\\w+(?=\\s*(?:[,(]|$))/,punctuation:/[,()]/}},annotation:{pattern:/@\\w+(?:::\\w+)*/,alias:\"keyword\"},label:{pattern:/#[ \\t]*\\w+/,alias:\"punctuation\"},keyword:/\\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\\b/,definition:[{pattern:/\\b[a-z]\\w*(?=\\s*:)/,alias:[\"rule\",\"class-name\"]},{pattern:/\\b[A-Z]\\w*(?=\\s*:)/,alias:[\"token\",\"constant\"]}],constant:/\\b[A-Z][A-Z_]*\\b/,operator:/\\.\\.|->|[|~]|[*+?]\\??/,punctuation:/[;:()=]/},Prism.languages.g4=Prism.languages.antlr4;\nPrism.languages.apacheconf={comment:/#.*/,\"directive-inline\":{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,lookbehind:!0,alias:\"property\"},\"directive-block\":{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,inside:{\"directive-block\":{pattern:/^<\\/?\\w+/,inside:{punctuation:/^<\\/?/},alias:\"tag\"},\"directive-block-parameter\":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/(\"|').*\\1/,inside:{variable:/[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/}}},alias:\"attr-value\"},punctuation:/>/},alias:\"tag\"},\"directive-flags\":{pattern:/\\[(?:[\\w=],?)+\\]/,alias:\"keyword\"},string:{pattern:/(\"|').*\\1/,inside:{variable:/[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/}},variable:/[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,regex:/\\^?.*\\$|\\^.*\\$?/};\nPrism.languages.sql={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,lookbehind:!0},variable:[{pattern:/@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,greedy:!0},/@[\\w.$]+/],string:{pattern:/(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,greedy:!0,lookbehind:!0},function:/\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,keyword:/\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_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|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,boolean:/\\b(?:TRUE|FALSE|NULL)\\b/i,number:/\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,operator:/[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,punctuation:/[;[\\]()`,.]/};\n!function(e){var t=/\\b(?:abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|get(?=\\s*[{};])|(?:after|before)(?=\\s+[a-z])|(?:inherited|with|without)\\s+sharing)\\b/i,n=\"\\\\b(?:(?=[a-z_]\\\\w*\\\\s*[<\\\\[])|(?!<keyword>))[A-Z_]\\\\w*(?:\\\\s*\\\\.\\\\s*[A-Z_]\\\\w*)*\\\\b(?:\\\\s*(?:\\\\[\\\\s*\\\\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*\".replace(/<keyword>/g,function(){return t.source});function i(e){return RegExp(e.replace(/<CLASS-NAME>/g,function(){return n}),\"i\")}var a={keyword:t,punctuation:/[()\\[\\]{};,:.<>]/};e.languages.apex={comment:e.languages.clike.comment,string:e.languages.clike.string,sql:{pattern:/((?:[=,({:]|\\breturn)\\s*)\\[[^\\[\\]]*\\]/i,lookbehind:!0,greedy:!0,alias:\"language-sql\",inside:e.languages.sql},annotation:{pattern:/@\\w+\\b/,alias:\"punctuation\"},\"class-name\":[{pattern:i(\"(\\\\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\\\\s+\\\\w+\\\\s+on)\\\\s+)<CLASS-NAME>\"),lookbehind:!0,inside:a},{pattern:i(\"(\\\\(\\\\s*)<CLASS-NAME>(?=\\\\s*\\\\)\\\\s*[\\\\w(])\"),lookbehind:!0,inside:a},{pattern:i(\"<CLASS-NAME>(?=\\\\s*\\\\w+\\\\s*[;=,(){:])\"),inside:a}],trigger:{pattern:/(\\btrigger\\s+)\\w+\\b/i,lookbehind:!0,alias:\"class-name\"},keyword:t,function:/\\b[a-z_]\\w*(?=\\s*\\()/i,boolean:/\\b(?:false|true)\\b/i,number:/(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+|L)?)\\b/i,operator:/[!=](?:==?)?|\\?\\.?|&&|\\|\\||--|\\+\\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,punctuation:/[()\\[\\]{};,.]/}}(Prism);\nPrism.languages.apl={comment:/(?:⍝|#[! ]).*$/m,string:{pattern:/'(?:[^'\\r\\n]|'')*'/,greedy:!0},number:/¯?(?:\\d*\\.?\\b\\d+(?:e[+¯]?\\d+)?|¯|∞)(?:j¯?(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+¯]?\\d+)?|¯|∞))?/i,statement:/:[A-Z][a-z][A-Za-z]*\\b/,\"system-function\":{pattern:/⎕[A-Z]+/i,alias:\"function\"},constant:/[⍬⌾#⎕⍞]/,function:/[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,\"monadic-operator\":{pattern:/[\\\\\\/⌿⍀¨⍨⌶&∥]/,alias:\"operator\"},\"dyadic-operator\":{pattern:/[.⍣⍠⍤∘⌸@⌺⍥]/,alias:\"operator\"},assignment:{pattern:/←/,alias:\"keyword\"},punctuation:/[\\[;\\]()◇⋄]/,dfn:{pattern:/[{}⍺⍵⍶⍹∇⍫:]/,alias:\"builtin\"}};\nPrism.languages.applescript={comment:[/\\(\\*(?:\\(\\*(?:[^*]|\\*(?!\\)))*\\*\\)|(?!\\(\\*)[\\s\\S])*?\\*\\)/,/--.+/,/#.+/],string:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,number:/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,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/],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/,class:{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/,alias:\"builtin\"},punctuation:/[{}():,¬«»《》]/};\nPrism.languages.aql={comment:/\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,property:{pattern:/([{,]\\s*)(?:(?!\\d)\\w+|([\"'´`])(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2)(?=\\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/([\"'´`])(?:(?!\\1)[^\\\\\\r\\n]|\\\\.)*\\1/,greedy:!0},variable:/@@?\\w+/,keyword:[{pattern:/(\\bWITH\\s+)COUNT(?=\\s+INTO\\b)/i,lookbehind:!0},/\\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WITH)\\b/i,{pattern:/(^|[^\\w.[])(?:KEEP|PRUNE|SEARCH|TO)\\b/i,lookbehind:!0},{pattern:/(^|[^\\w.[])(?:CURRENT|NEW|OLD)\\b/,lookbehind:!0},{pattern:/\\bOPTIONS(?=\\s*{)/i}],function:/(?!\\d)\\w+(?=\\s*\\()/,boolean:/(?:true|false)/i,range:{pattern:/\\.\\./,alias:\"operator\"},number:/(?:\\B\\.\\d+|\\b(?:0|[1-9]\\d*)(?:\\.\\d+)?)(?:e[+-]?\\d+)?/i,operator:/\\*{2,}|[=!]~|[!=<>]=?|&&|\\|\\||[-+*/%]/,punctuation:/::|[?.:,;()[\\]{}]/};\nPrism.languages.c=Prism.languages.extend(\"clike\",{comment:{pattern:/\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,greedy:!0},\"class-name\":{pattern:/(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,lookbehind:!0},keyword:/\\b(?:__attribute__|_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/,function:/[a-z_]\\w*(?=\\s*\\()/i,number:/(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore(\"c\",\"string\",{macro:{pattern:/(^\\s*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,greedy:!0,alias:\"property\",inside:{string:[{pattern:/^(#\\s*include\\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,\"macro-name\":[{pattern:/(^#\\s*define\\s+)\\w+\\b(?!\\()/i,lookbehind:!0},{pattern:/(^#\\s*define\\s+)\\w+\\b(?=\\()/i,lookbehind:!0,alias:\"function\"}],directive:{pattern:/^(#\\s*)[a-z]+/,lookbehind:!0,alias:\"keyword\"},\"directive-hash\":/^#/,punctuation:/##|\\\\(?=[\\r\\n])/,expression:{pattern:/\\S[\\s\\S]*/,inside:Prism.languages.c}}},constant:/\\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\\b/}),delete Prism.languages.c.boolean;\n!function(e){var t=/\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,n=\"\\\\b(?!<keyword>)\\\\w+(?:\\\\s*\\\\.\\\\s*\\\\w+)*\\\\b\".replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend(\"c\",{\"class-name\":[{pattern:RegExp(\"(\\\\b(?:class|concept|enum|struct|typename)\\\\s+)(?!<keyword>)\\\\w+\".replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,/\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,/\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/],keyword:t,number:{pattern:/(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\\1|[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,boolean:/\\b(?:true|false)\\b/}),e.languages.insertBefore(\"cpp\",\"string\",{module:{pattern:RegExp('(\\\\b(?:module|import)\\\\s+)(?:\"(?:\\\\\\\\(?:\\r\\n|[^])|[^\"\\\\\\\\\\r\\n])*\"|<[^<>\\r\\n]*>|'+\"<mod-name>(?:\\\\s*:\\\\s*<mod-name>)?|:\\\\s*<mod-name>\".replace(/<mod-name>/g,function(){return n})+\")\"),lookbehind:!0,greedy:!0,inside:{string:/^[<\"][\\s\\S]+/,operator:/:/,punctuation:/\\./}},\"raw-string\":{pattern:/R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,alias:\"string\",greedy:!0}}),e.languages.insertBefore(\"cpp\",\"class-name\",{\"base-clause\":{pattern:/(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(\"cpp\",{})}}),e.languages.insertBefore(\"inside\",\"operator\",{\"class-name\":/\\b[a-z_]\\w*\\b(?!\\s*::)/i},e.languages.cpp[\"base-clause\"])}(Prism);\nPrism.languages.arduino=Prism.languages.extend(\"cpp\",{constant:/\\b(?:DIGITAL_MESSAGE|FIRMATA_STRING|ANALOG_MESSAGE|REPORT_DIGITAL|REPORT_ANALOG|INPUT_PULLUP|SET_PIN_MODE|INTERNAL2V56|SYSTEM_RESET|LED_BUILTIN|INTERNAL1V1|SYSEX_START|INTERNAL|EXTERNAL|DEFAULT|OUTPUT|INPUT|HIGH|LOW)\\b/,keyword:/\\b(?:setup|if|else|while|do|for|return|in|instanceof|default|function|loop|goto|switch|case|new|try|throw|catch|finally|null|break|continue|boolean|bool|void|byte|word|string|String|array|int|long|integer|double)\\b/,builtin:/\\b(?:KeyboardController|MouseController|SoftwareSerial|EthernetServer|EthernetClient|LiquidCrystal|LiquidCrystal_I2C|RobotControl|GSMVoiceCall|EthernetUDP|EsploraTFT|HttpClient|RobotMotor|WiFiClient|GSMScanner|FileSystem|Scheduler|GSMServer|YunClient|YunServer|IPAddress|GSMClient|GSMModem|Keyboard|Ethernet|Console|GSMBand|Esplora|Stepper|Process|WiFiUDP|GSM_SMS|Mailbox|USBHost|Firmata|PImage|Client|Server|GSMPIN|FileIO|Bridge|Serial|EEPROM|Stream|Mouse|Audio|Servo|File|Task|GPRS|WiFi|Wire|TFT|GSM|SPI|SD|runShellCommandAsynchronously|analogWriteResolution|retrieveCallingNumber|printFirmwareVersion|analogReadResolution|sendDigitalPortPair|noListenOnLocalhost|readJoystickButton|setFirmwareVersion|readJoystickSwitch|scrollDisplayRight|getVoiceCallStatus|scrollDisplayLeft|writeMicroseconds|delayMicroseconds|beginTransmission|getSignalStrength|runAsynchronously|getAsynchronously|listenOnLocalhost|getCurrentCarrier|readAccelerometer|messageAvailable|sendDigitalPorts|lineFollowConfig|countryNameWrite|runShellCommand|readStringUntil|rewindDirectory|readTemperature|setClockDivider|readLightSensor|endTransmission|analogReference|detachInterrupt|countryNameRead|attachInterrupt|encryptionType|readBytesUntil|robotNameWrite|readMicrophone|robotNameRead|cityNameWrite|userNameWrite|readJoystickY|readJoystickX|mouseReleased|openNextFile|scanNetworks|noInterrupts|digitalWrite|beginSpeaker|mousePressed|isActionDone|mouseDragged|displayLogos|noAutoscroll|addParameter|remoteNumber|getModifiers|keyboardRead|userNameRead|waitContinue|processInput|parseCommand|printVersion|readNetworks|writeMessage|blinkVersion|cityNameRead|readMessage|setDataMode|parsePacket|isListening|setBitOrder|beginPacket|isDirectory|motorsWrite|drawCompass|digitalRead|clearScreen|serialEvent|rightToLeft|setTextSize|leftToRight|requestFrom|keyReleased|compassRead|analogWrite|interrupts|WiFiServer|disconnect|playMelody|parseFloat|autoscroll|getPINUsed|setPINUsed|setTimeout|sendAnalog|readSlider|analogRead|beginWrite|createChar|motorsStop|keyPressed|tempoWrite|readButton|subnetMask|debugPrint|macAddress|writeGreen|randomSeed|attachGPRS|readString|sendString|remotePort|releaseAll|mouseMoved|background|getXChange|getYChange|answerCall|getResult|voiceCall|endPacket|constrain|getSocket|writeJSON|getButton|available|connected|findUntil|readBytes|exitValue|readGreen|writeBlue|startLoop|isPressed|sendSysex|pauseMode|gatewayIP|setCursor|getOemKey|tuneWrite|noDisplay|loadImage|switchPIN|onRequest|onReceive|changePIN|playFile|noBuffer|parseInt|overflow|checkPIN|knobRead|beginTFT|bitClear|updateIR|bitWrite|position|writeRGB|highByte|writeRed|setSpeed|readBlue|noStroke|remoteIP|transfer|shutdown|hangCall|beginSMS|endWrite|attached|maintain|noCursor|checkReg|checkPUK|shiftOut|isValid|shiftIn|pulseIn|connect|println|localIP|pinMode|getIMEI|display|noBlink|process|getBand|running|beginSD|drawBMP|lowByte|setBand|release|bitRead|prepare|pointTo|readRed|setMode|noFill|remove|listen|stroke|detach|attach|noTone|exists|buffer|height|bitSet|circle|config|cursor|random|IRread|setDNS|endSMS|getKey|micros|millis|begin|print|write|ready|flush|width|isPIN|blink|clear|press|mkdir|rmdir|close|point|yield|image|BSSID|click|delay|read|text|move|peek|beep|rect|line|open|seek|fill|size|turn|stop|home|find|step|tone|sqrt|RSSI|SSID|end|bit|tan|cos|sin|pow|map|abs|max|min|get|run|put)\\b/});\nPrism.languages.arff={comment:/%.*/,string:{pattern:/([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},keyword:/@(?:attribute|data|end|relation)\\b/i,number:/\\b\\d+(?:\\.\\d+)?\\b/,punctuation:/[{},]/};\n!function(t){var n={pattern:/(^[ \\t]*)\\[(?!\\[)(?:([\"'$`])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\[(?:[^\\[\\]\\\\]|\\\\.)*\\]|[^\\[\\]\\\\\"'$`]|\\\\.)*\\]/m,lookbehind:!0,inside:{quoted:{pattern:/([$`])(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,inside:{punctuation:/^[$`]|[$`]$/}},interpreted:{pattern:/'(?:[^'\\\\]|\\\\.)*'/,inside:{punctuation:/^'|'$/}},string:/\"(?:[^\"\\\\]|\\\\.)*\"/,variable:/\\w+(?==)/,punctuation:/^\\[|\\]$|,/,operator:/=/,\"attr-value\":/(?!^\\s+$).+/}},a=t.languages.asciidoc={\"comment-block\":{pattern:/^(\\/{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1/m,alias:\"comment\"},table:{pattern:/^\\|={3,}(?:(?:\\r?\\n|\\r(?!\\n)).*)*?(?:\\r?\\n|\\r)\\|={3,}$/m,inside:{specifiers:{pattern:/(?!\\|)(?:(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)[+*])?(?:[<^>](?:\\.[<^>])?|\\.[<^>])?[a-z]*)(?=\\|)/,alias:\"attr-value\"},punctuation:{pattern:/(^|[^\\\\])[|!]=*/,lookbehind:!0}}},\"passthrough-block\":{pattern:/^(\\+{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,inside:{punctuation:/^\\++|\\++$/}},\"literal-block\":{pattern:/^(-{4,}|\\.{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,inside:{punctuation:/^(?:-+|\\.+)|(?:-+|\\.+)$/}},\"other-block\":{pattern:/^(--|\\*{4,}|_{4,}|={4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,inside:{punctuation:/^(?:-+|\\*+|_+|=+)|(?:-+|\\*+|_+|=+)$/}},\"list-punctuation\":{pattern:/(^[ \\t]*)(?:-|\\*{1,5}|\\.{1,5}|(?:[a-z]|\\d+)\\.|[xvi]+\\))(?= )/im,lookbehind:!0,alias:\"punctuation\"},\"list-label\":{pattern:/(^[ \\t]*)[a-z\\d].+(?::{2,4}|;;)(?=\\s)/im,lookbehind:!0,alias:\"symbol\"},\"indented-block\":{pattern:/((\\r?\\n|\\r)\\2)([ \\t]+)\\S.*(?:(?:\\r?\\n|\\r)\\3.+)*(?=\\2{2}|$)/,lookbehind:!0},comment:/^\\/\\/.*/m,title:{pattern:/^.+(?:\\r?\\n|\\r)(?:={3,}|-{3,}|~{3,}|\\^{3,}|\\+{3,})$|^={1,5} .+|^\\.(?![\\s.]).*/m,alias:\"important\",inside:{punctuation:/^(?:\\.|=+)|(?:=+|-+|~+|\\^+|\\++)$/}},\"attribute-entry\":{pattern:/^:[^:\\r\\n]+:(?: .*?(?: \\+(?:\\r?\\n|\\r).*?)*)?$/m,alias:\"tag\"},attributes:n,hr:{pattern:/^'{3,}$/m,alias:\"punctuation\"},\"page-break\":{pattern:/^<{3,}$/m,alias:\"punctuation\"},admonition:{pattern:/^(?:TIP|NOTE|IMPORTANT|WARNING|CAUTION):/m,alias:\"keyword\"},callout:[{pattern:/(^[ \\t]*)<?\\d*>/m,lookbehind:!0,alias:\"symbol\"},{pattern:/<\\d+>/,alias:\"symbol\"}],macro:{pattern:/\\b[a-z\\d][a-z\\d-]*::?(?:[^\\s\\[\\]]*\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,inside:{function:/^[a-z\\d-]+(?=:)/,punctuation:/^::?/,attributes:{pattern:/(?:\\[(?:[^\\]\\\\\"]|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,inside:n.inside}}},inline:{pattern:/(^|[^\\\\])(?:(?:\\B\\[(?:[^\\]\\\\\"]|([\"'])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\\\.)*\\])?(?:\\b_(?!\\s)(?: _|[^_\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: _|[^_\\\\\\r\\n]|\\\\.)+)*_\\b|\\B``(?!\\s).+?(?:(?:\\r?\\n|\\r).+?)*''\\B|\\B`(?!\\s)(?:[^`'\\s]|\\s+\\S)+['`]\\B|\\B(['*+#])(?!\\s)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+)*\\3\\B)|(?:\\[(?:[^\\]\\\\\"]|([\"'])(?:(?!\\4)[^\\\\]|\\\\.)*\\4|\\\\.)*\\])?(?:(__|\\*\\*|\\+\\+\\+?|##|\\$\\$|[~^]).+?(?:(?:\\r?\\n|\\r).+?)*\\5|\\{[^}\\r\\n]+\\}|\\[\\[\\[?.+?(?:(?:\\r?\\n|\\r).+?)*\\]?\\]\\]|<<.+?(?:(?:\\r?\\n|\\r).+?)*>>|\\(\\(\\(?.+?(?:(?:\\r?\\n|\\r).+?)*\\)?\\)\\)))/m,lookbehind:!0,inside:{attributes:n,url:{pattern:/^(?:\\[\\[\\[?.+?\\]?\\]\\]|<<.+?>>)$/,inside:{punctuation:/^(?:\\[\\[\\[?|<<)|(?:\\]\\]\\]?|>>)$/}},\"attribute-ref\":{pattern:/^\\{.+\\}$/,inside:{variable:{pattern:/(^\\{)[a-z\\d,+_-]+/,lookbehind:!0},operator:/^[=?!#%@$]|!(?=[:}])/,punctuation:/^\\{|\\}$|::?/}},italic:{pattern:/^(['_])[\\s\\S]+\\1$/,inside:{punctuation:/^(?:''?|__?)|(?:''?|__?)$/}},bold:{pattern:/^\\*[\\s\\S]+\\*$/,inside:{punctuation:/^\\*\\*?|\\*\\*?$/}},punctuation:/^(?:``?|\\+{1,3}|##?|\\$\\$|[~^]|\\(\\(\\(?)|(?:''?|\\+{1,3}|##?|\\$\\$|[~^`]|\\)?\\)\\))$/}},replacement:{pattern:/\\((?:C|TM|R)\\)/,alias:\"builtin\"},entity:/&#?[\\da-z]{1,8};/i,\"line-continuation\":{pattern:/(^| )\\+$/m,lookbehind:!0,alias:\"punctuation\"}};function i(t){for(var n={},i=0,e=(t=t.split(\" \")).length;i<e;i++)n[t[i]]=a[t[i]];return n}n.inside.interpreted.inside.rest=i(\"macro inline replacement entity\"),a[\"passthrough-block\"].inside.rest=i(\"macro\"),a[\"literal-block\"].inside.rest=i(\"callout\"),a.table.inside.rest=i(\"comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation\"),a[\"other-block\"].inside.rest=i(\"table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation\"),a.title.inside.rest=i(\"macro inline replacement entity\"),t.hooks.add(\"wrap\",function(t){\"entity\"===t.type&&(t.attributes.title=t.content.replace(/&amp;/,\"&\"))}),t.languages.adoc=t.languages.asciidoc}(Prism);\n!function(s){function a(e,s){return e.replace(/<<(\\d+)>>/g,function(e,n){return\"(?:\"+s[+n]+\")\"})}function t(e,n,s){return RegExp(a(e,n),s||\"\")}function e(e,n){for(var s=0;s<n;s++)e=e.replace(/<<self>>/g,function(){return\"(?:\"+e+\")\"});return e.replace(/<<self>>/g,\"[^\\\\s\\\\S]\")}var n=\"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void\",i=\"class enum interface struct\",r=\"add alias and ascending async await by descending from get global group into join let nameof not notnull on or orderby partial remove select set unmanaged value when where\",o=\"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield\";function l(e){return\"\\\\b(?:\"+e.trim().replace(/ /g,\"|\")+\")\\\\b\"}var d=l(i),p=RegExp(l(n+\" \"+i+\" \"+r+\" \"+o)),c=l(i+\" \"+r+\" \"+o),u=l(n+\" \"+i+\" \"+o),g=e(\"<(?:[^<>;=+\\\\-*/%&|^]|<<self>>)*>\",2),b=e(\"\\\\((?:[^()]|<<self>>)*\\\\)\",2),h=\"@?\\\\b[A-Za-z_]\\\\w*\\\\b\",f=a(\"<<0>>(?:\\\\s*<<1>>)?\",[h,g]),m=a(\"(?!<<0>>)<<1>>(?:\\\\s*\\\\.\\\\s*<<1>>)*\",[c,f]),k=\"\\\\[\\\\s*(?:,\\\\s*)*\\\\]\",y=a(\"<<0>>(?:\\\\s*(?:\\\\?\\\\s*)?<<1>>)*(?:\\\\s*\\\\?)?\",[m,k]),w=a(\"(?:<<0>>|<<1>>)(?:\\\\s*(?:\\\\?\\\\s*)?<<2>>)*(?:\\\\s*\\\\?)?\",[a(\"\\\\(<<0>>+(?:,<<0>>+)+\\\\)\",[a(\"[^,()<>[\\\\];=+\\\\-*/%&|^]|<<0>>|<<1>>|<<2>>\",[g,b,k])]),m,k]),v={keyword:p,punctuation:/[<>()?,.:[\\]]/},x=\"'(?:[^\\r\\n'\\\\\\\\]|\\\\\\\\.|\\\\\\\\[Uux][\\\\da-fA-F]{1,8})'\",$='\"(?:\\\\\\\\.|[^\\\\\\\\\"\\r\\n])*\"';s.languages.csharp=s.languages.extend(\"clike\",{string:[{pattern:t(\"(^|[^$\\\\\\\\])<<0>>\",['@\"(?:\"\"|\\\\\\\\[^]|[^\\\\\\\\\"])*\"(?!\")']),lookbehind:!0,greedy:!0},{pattern:t(\"(^|[^@$\\\\\\\\])<<0>>\",[$]),lookbehind:!0,greedy:!0},{pattern:RegExp(x),greedy:!0,alias:\"character\"}],\"class-name\":[{pattern:t(\"(\\\\busing\\\\s+static\\\\s+)<<0>>(?=\\\\s*;)\",[m]),lookbehind:!0,inside:v},{pattern:t(\"(\\\\busing\\\\s+<<0>>\\\\s*=\\\\s*)<<1>>(?=\\\\s*;)\",[h,w]),lookbehind:!0,inside:v},{pattern:t(\"(\\\\busing\\\\s+)<<0>>(?=\\\\s*=)\",[h]),lookbehind:!0},{pattern:t(\"(\\\\b<<0>>\\\\s+)<<1>>\",[d,f]),lookbehind:!0,inside:v},{pattern:t(\"(\\\\bcatch\\\\s*\\\\(\\\\s*)<<0>>\",[m]),lookbehind:!0,inside:v},{pattern:t(\"(\\\\bwhere\\\\s+)<<0>>\",[h]),lookbehind:!0},{pattern:t(\"(\\\\b(?:is(?:\\\\s+not)?|as)\\\\s+)<<0>>\",[y]),lookbehind:!0,inside:v},{pattern:t(\"\\\\b<<0>>(?=\\\\s+(?!<<1>>)<<2>>(?:\\\\s*[=,;:{)\\\\]]|\\\\s+(?:in|when)\\\\b))\",[w,u,h]),inside:v}],keyword:p,number:/(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:ul|lu|[dflmu])?\\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\\?\\.?|::|[{}[\\];(),.:]/}),s.languages.insertBefore(\"csharp\",\"number\",{range:{pattern:/\\.\\./,alias:\"operator\"}}),s.languages.insertBefore(\"csharp\",\"punctuation\",{\"named-parameter\":{pattern:t(\"([(,]\\\\s*)<<0>>(?=\\\\s*:)\",[h]),lookbehind:!0,alias:\"punctuation\"}}),s.languages.insertBefore(\"csharp\",\"class-name\",{namespace:{pattern:t(\"(\\\\b(?:namespace|using)\\\\s+)<<0>>(?:\\\\s*\\\\.\\\\s*<<0>>)*(?=\\\\s*[;{])\",[h]),lookbehind:!0,inside:{punctuation:/\\./}},\"type-expression\":{pattern:t(\"(\\\\b(?:default|typeof|sizeof)\\\\s*\\\\(\\\\s*(?!\\\\s))(?:[^()\\\\s]|\\\\s(?!\\\\s)|<<0>>)*(?=\\\\s*\\\\))\",[b]),lookbehind:!0,alias:\"class-name\",inside:v},\"return-type\":{pattern:t(\"<<0>>(?=\\\\s+(?:<<1>>\\\\s*(?:=>|[({]|\\\\.\\\\s*this\\\\s*\\\\[)|this\\\\s*\\\\[))\",[w,m]),inside:v,alias:\"class-name\"},\"constructor-invocation\":{pattern:t(\"(\\\\bnew\\\\s+)<<0>>(?=\\\\s*[[({])\",[w]),lookbehind:!0,inside:v,alias:\"class-name\"},\"generic-method\":{pattern:t(\"<<0>>\\\\s*<<1>>(?=\\\\s*\\\\()\",[h,g]),inside:{function:t(\"^<<0>>\",[h]),generic:{pattern:RegExp(g),alias:\"class-name\",inside:v}}},\"type-list\":{pattern:t(\"\\\\b((?:<<0>>\\\\s+<<1>>|where\\\\s+<<2>>)\\\\s*:\\\\s*)(?:<<3>>|<<4>>)(?:\\\\s*,\\\\s*(?:<<3>>|<<4>>))*(?=\\\\s*(?:where|[{;]|=>|$))\",[d,f,h,w,p.source]),lookbehind:!0,inside:{keyword:p,\"class-name\":{pattern:RegExp(w),greedy:!0,inside:v},punctuation:/,/}},preprocessor:{pattern:/(^\\s*)#.*/m,lookbehind:!0,alias:\"property\",inside:{directive:{pattern:/(\\s*#)\\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\\b/,lookbehind:!0,alias:\"keyword\"}}}});var _=$+\"|\"+x,B=a(\"/(?![*/])|//[^\\r\\n]*[\\r\\n]|/\\\\*(?:[^*]|\\\\*(?!/))*\\\\*/|<<0>>\",[_]),E=e(a(\"[^\\\"'/()]|<<0>>|\\\\(<<self>>*\\\\)\",[B]),2),R=\"\\\\b(?:assembly|event|field|method|module|param|property|return|type)\\\\b\",P=a(\"<<0>>(?:\\\\s*\\\\(<<1>>*\\\\))?\",[m,E]);s.languages.insertBefore(\"csharp\",\"class-name\",{attribute:{pattern:t(\"((?:^|[^\\\\s\\\\w>)?])\\\\s*\\\\[\\\\s*)(?:<<0>>\\\\s*:\\\\s*)?<<1>>(?:\\\\s*,\\\\s*<<1>>)*(?=\\\\s*\\\\])\",[R,P]),lookbehind:!0,greedy:!0,inside:{target:{pattern:t(\"^<<0>>(?=\\\\s*:)\",[R]),alias:\"keyword\"},\"attribute-arguments\":{pattern:t(\"\\\\(<<0>>*\\\\)\",[E]),inside:s.languages.csharp},\"class-name\":{pattern:RegExp(m),inside:{punctuation:/\\./}},punctuation:/[:,]/}}});var z=\":[^}\\r\\n]+\",S=e(a(\"[^\\\"'/()]|<<0>>|\\\\(<<self>>*\\\\)\",[B]),2),j=a(\"\\\\{(?!\\\\{)(?:(?![}:])<<0>>)*<<1>>?\\\\}\",[S,z]),A=e(a(\"[^\\\"'/()]|/(?!\\\\*)|/\\\\*(?:[^*]|\\\\*(?!/))*\\\\*/|<<0>>|\\\\(<<self>>*\\\\)\",[_]),2),F=a(\"\\\\{(?!\\\\{)(?:(?![}:])<<0>>)*<<1>>?\\\\}\",[A,z]);function U(e,n){return{interpolation:{pattern:t(\"((?:^|[^{])(?:\\\\{\\\\{)*)<<0>>\",[e]),lookbehind:!0,inside:{\"format-string\":{pattern:t(\"(^\\\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\\\}$)\",[n,z]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\\{|\\}$/,expression:{pattern:/[\\s\\S]+/,alias:\"language-csharp\",inside:s.languages.csharp}}},string:/[\\s\\S]+/}}s.languages.insertBefore(\"csharp\",\"string\",{\"interpolation-string\":[{pattern:t('(^|[^\\\\\\\\])(?:\\\\$@|@\\\\$)\"(?:\"\"|\\\\\\\\[^]|\\\\{\\\\{|<<0>>|[^\\\\\\\\{\"])*\"',[j]),lookbehind:!0,greedy:!0,inside:U(j,S)},{pattern:t('(^|[^@\\\\\\\\])\\\\$\"(?:\\\\\\\\.|\\\\{\\\\{|<<0>>|[^\\\\\\\\\"{])*\"',[F]),lookbehind:!0,greedy:!0,inside:U(F,A)}]})}(Prism),Prism.languages.dotnet=Prism.languages.cs=Prism.languages.csharp;\nPrism.languages.aspnet=Prism.languages.extend(\"markup\",{\"page-directive\":{pattern:/<%\\s*@.*%>/i,alias:\"tag\",inside:{\"page-directive\":{pattern:/<%\\s*@\\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,alias:\"tag\"},rest:Prism.languages.markup.tag.inside}},directive:{pattern:/<%.*%>/i,alias:\"tag\",inside:{directive:{pattern:/<%\\s*?[$=%#:]{0,2}|%>/i,alias:\"tag\"},rest:Prism.languages.csharp}}}),Prism.languages.aspnet.tag.pattern=/<(?!%)\\/?[^\\s>\\/]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,Prism.languages.insertBefore(\"inside\",\"punctuation\",{directive:Prism.languages.aspnet.directive},Prism.languages.aspnet.tag.inside[\"attr-value\"]),Prism.languages.insertBefore(\"aspnet\",\"comment\",{\"asp-comment\":{pattern:/<%--[\\s\\S]*?--%>/,alias:[\"asp\",\"comment\"]}}),Prism.languages.insertBefore(\"aspnet\",Prism.languages.javascript?\"script\":\"tag\",{\"asp-script\":{pattern:/(<script(?=.*runat=['\"]?server['\"]?)[^>]*>)[\\s\\S]*?(?=<\\/script>)/i,lookbehind:!0,alias:[\"asp\",\"script\"],inside:Prism.languages.csharp||{}}});\nPrism.languages.asm6502={comment:/;.*/,directive:{pattern:/\\.\\w+(?= )/,alias:\"keyword\"},string:/([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,opcode:{pattern:/\\b(?:adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya|ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\\b/,alias:\"property\"},hexnumber:{pattern:/#?\\$[\\da-f]{2,4}\\b/i,alias:\"string\"},binarynumber:{pattern:/#?%[01]+\\b/,alias:\"string\"},decimalnumber:{pattern:/#?\\b\\d+\\b/,alias:\"string\"},register:{pattern:/\\b[xya]\\b/i,alias:\"variable\"}};\nPrism.languages.autohotkey={comment:[{pattern:/(^|\\s);.*/,lookbehind:!0},{pattern:/(^\\s*)\\/\\*(?:[\\r\\n](?![ \\t]*\\*\\/)|[^\\r\\n])*(?:[\\r\\n][ \\t]*\\*\\/)?/m,lookbehind:!0,greedy:!0}],string:/\"(?:[^\"\\n\\r]|\"\")*\"/m,tag:/^[ \\t]*[^\\s:]+?(?=:(?:[^:]|$))/m,variable:/%\\w+%/,number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,operator:/\\?|\\/\\/?=?|:=|\\|[=|]?|&[=&]?|\\+[=+]?|-[=-]?|\\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\\b(?:AND|NOT|OR)\\b/,boolean:/\\b(?:true|false)\\b/,selector:/\\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\\b/i,constant:/\\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guievent|a_guicontrol|a_guicontrolevent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|programfiles|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel)\\b/i,builtin:/\\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|substr|isfunc|islabel|IsObject|ln|log|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|ltrim|rtrim|mod|onmessage|numget|numput|registercallback|regexmatch|regexreplace|round|sin|tan|sqrt|strlen|strreplace|sb_seticon|sb_setparts|sb_settext|strsplit|tv_add|tv_delete|tv_getchild|tv_getcount|tv_getnext|tv_get|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__New|__Call|__Get|__Set)\\b/i,symbol:/\\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\\b/i,important:/#\\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|DerefChar|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|If|IfTimeout|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InputLevel|InstallKeybdHook|InstallMouseHook|KeyHistory|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|MenuMaskKey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|Warn|WinActivateForce)\\b/i,keyword:/\\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Region|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|TryAgain|Throw|Try|Catch|Finally|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\\b/i,function:/[^(); \\t,\\n+*\\-=?>:\\\\\\/<&%\\[\\]]+?(?=\\()/m,punctuation:/[{}[\\]():,]/};\nPrism.languages.autoit={comment:[/;.*/,{pattern:/(^\\s*)#(?:comments-start|cs)[\\s\\S]*?^[ \\t]*#(?:comments-end|ce)/m,lookbehind:!0}],url:{pattern:/(^\\s*#include\\s+)(?:<[^\\r\\n>]+>|\"[^\\r\\n\"]+\")/m,lookbehind:!0},string:{pattern:/([\"'])(?:\\1\\1|(?!\\1)[^\\r\\n])*\\1/,greedy:!0,inside:{variable:/([%$@])\\w+\\1/}},directive:{pattern:/(^\\s*)#\\w+/m,lookbehind:!0,alias:\"keyword\"},function:/\\b\\w+(?=\\()/,variable:/[$@]\\w+/,keyword:/\\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\\b/i,number:/\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,boolean:/\\b(?:True|False)\\b/i,operator:/<[=>]?|[-+*\\/=&>]=?|[?^]|\\b(?:And|Or|Not)\\b/i,punctuation:/[\\[\\]().,:]/};\n!function(e){var t=\"\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b\",n={pattern:/(^([\"']?)\\w+\\2)[ \\t]+\\S.*/,lookbehind:!0,alias:\"punctuation\",inside:null},a={bash:n,environment:{pattern:RegExp(\"\\\\$\"+t),alias:\"constant\"},variable:[{pattern:/\\$?\\(\\([\\s\\S]+?\\)\\)/,greedy:!0,inside:{variable:[{pattern:/(^\\$\\(\\([\\s\\S]+)\\)\\)/,lookbehind:!0},/^\\$\\(\\(/],number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,operator:/--?|-=|\\+\\+?|\\+=|!=?|~|\\*\\*?|\\*=|\\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\\^=?|\\|\\|?|\\|=|\\?|:/,punctuation:/\\(\\(?|\\)\\)?|,|;/}},{pattern:/\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,greedy:!0,inside:{variable:/^\\$\\(|^`|\\)$|`$/}},{pattern:/\\$\\{[^}]+\\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,punctuation:/[\\[\\]]/,environment:{pattern:RegExp(\"(\\\\{)\"+t),lookbehind:!0,alias:\"constant\"}}},/\\$(?:\\w+|[#?*!@$])/],entity:/\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\\s*\\/.*/,alias:\"important\"},comment:{pattern:/(^|[^\"{\\\\$])#.*/,lookbehind:!0},\"function-name\":[{pattern:/(\\bfunction\\s+)\\w+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,lookbehind:!0,alias:\"function\"},{pattern:/\\b\\w+(?=\\s*\\(\\s*\\)\\s*\\{)/,alias:\"function\"}],\"for-or-select\":{pattern:/(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,alias:\"variable\",lookbehind:!0},\"assign-left\":{pattern:/(^|[\\s;|&]|[<>]\\()\\w+(?=\\+?=)/,inside:{environment:{pattern:RegExp(\"(^|[\\\\s;|&]|[<>]\\\\()\"+t),lookbehind:!0,alias:\"constant\"}},alias:\"variable\",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\\s*)(\\w+?)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\\\](?:\\\\\\\\)*)([\"'])(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|(?!\\2)[^\\\\`$])*\\2/,lookbehind:!0,greedy:!0,inside:a}],environment:{pattern:RegExp(\"\\\\$?\"+t),alias:\"constant\"},variable:a.variable,function:{pattern:/(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|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|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\\s;|&]|[<>]\\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\\s;|&]|[<>]\\()(?:\\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\\s;|&])/,lookbehind:!0,alias:\"class-name\"},boolean:{pattern:/(^|[\\s;|&]|[<>]\\()(?:true|false)(?=$|[)\\s;|&])/,lookbehind:!0},\"file-descriptor\":{pattern:/\\B&\\d\\b/,alias:\"important\"},operator:{pattern:/\\d?<>|>\\||\\+=|==?|!=?|=~|<<[<-]?|[&\\d]?>>|\\d?[<>]&?|&[>&]?|\\|[&|]?|<=?|>=?/,inside:{\"file-descriptor\":{pattern:/^\\d/,alias:\"important\"}}},punctuation:/\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,number:{pattern:/(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var s=[\"comment\",\"function-name\",\"for-or-select\",\"assign-left\",\"string\",\"environment\",\"function\",\"keyword\",\"builtin\",\"boolean\",\"file-descriptor\",\"operator\",\"punctuation\",\"number\"],i=a.variable[1].inside,o=0;o<s.length;o++)i[s[o]]=e.languages.bash[s[o]];e.languages.shell=e.languages.bash}(Prism);\nPrism.languages.basic={comment:{pattern:/(?:!|REM\\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^_ +\\-.A-Z\\d])*\"/i,greedy:!0},number:/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,keyword:/\\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\\$|\\b)/i,function:/\\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\\$|\\b)/i,operator:/<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:AND|EQV|IMP|NOT|OR|XOR)\\b/i,punctuation:/[,;:()]/};\n!function(e){var r=/%%?[~:\\w]+%?|!\\S+!/,t={pattern:/\\/[a-z?]+(?=[ :]|$):?|-[a-z]\\b|--[a-z-]+\\b/im,alias:\"attr-name\",inside:{punctuation:/:/}},n=/\"(?:[\\\\\"]\"|[^\"])*\"(?!\")/,i=/(?:\\b|-)\\d+\\b/;Prism.languages.batch={comment:[/^::.*/m,{pattern:/((?:^|[&(])[ \\t]*)rem\\b(?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0}],label:{pattern:/^:.*/m,alias:\"property\"},command:[{pattern:/((?:^|[&(])[ \\t]*)for(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* \\S+ in \\([^)]+\\) do/im,lookbehind:!0,inside:{keyword:/^for\\b|\\b(?:in|do)\\b/i,string:n,parameter:t,variable:r,number:i,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \\t]*)if(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:not )?(?:cmdextversion \\d+|defined \\w+|errorlevel \\d+|exist \\S+|(?:\"[^\"]*\"|(?!\")(?:(?!==)\\S)+)?(?:==| (?:equ|neq|lss|leq|gtr|geq) )(?:\"[^\"]*\"|[^\\s\"]\\S*))/im,lookbehind:!0,inside:{keyword:/^if\\b|\\b(?:not|cmdextversion|defined|errorlevel|exist)\\b/i,string:n,parameter:t,variable:r,number:i,operator:/\\^|==|\\b(?:equ|neq|lss|leq|gtr|geq)\\b/i}},{pattern:/((?:^|[&()])[ \\t]*)else\\b/im,lookbehind:!0,inside:{keyword:/^else\\b/i}},{pattern:/((?:^|[&(])[ \\t]*)set(?: \\/[a-z](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,inside:{keyword:/^set\\b/i,string:n,parameter:t,variable:[r,/\\w+(?=(?:[*\\/%+\\-&^|]|<<|>>)?=)/],number:i,operator:/[*\\/%+\\-&^|]=?|<<=?|>>=?|[!~_=]/,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \\t]*@?)\\w+\\b(?:\"(?:[\\\\\"]\"|[^\"])*\"(?!\")|[^\"^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,inside:{keyword:/^\\w+\\b/i,string:n,parameter:t,label:{pattern:/(^\\s*):\\S+/m,lookbehind:!0,alias:\"property\"},variable:r,number:i,operator:/\\^/}}],operator:/[&@]/,punctuation:/[()']/}}();\nPrism.languages.bbcode={tag:{pattern:/\\[\\/?[^\\s=\\]]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))?(?:\\s+[^\\s=\\]]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))*\\s*\\]/,inside:{tag:{pattern:/^\\[\\/?[^\\s=\\]]+/,inside:{punctuation:/^\\[\\/?/}},\"attr-value\":{pattern:/=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\\s*)[\"']|[\"']$/,lookbehind:!0}]}},punctuation:/\\]/,\"attr-name\":/[^\\s=\\]]+/}}},Prism.languages.shortcode=Prism.languages.bbcode;\nPrism.languages.birb=Prism.languages.extend(\"clike\",{string:{pattern:/r?(\"|')(?:\\\\.|(?!\\1)[^\\\\])*\\1/,greedy:!0},\"class-name\":[/\\b[A-Z](?:[\\d_]*[a-zA-Z]\\w*)?\\b/,/\\b[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/],keyword:/\\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|next|new|noSeeb|return|static|switch|throw|var|void|while)\\b/,operator:/\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?|:/,variable:/\\b[a-z_]\\w*\\b/}),Prism.languages.insertBefore(\"birb\",\"function\",{metadata:{pattern:/<\\w+>/,greedy:!0,alias:\"symbol\"}});\nPrism.languages.bison=Prism.languages.extend(\"c\",{}),Prism.languages.insertBefore(\"bison\",\"comment\",{bison:{pattern:/^(?:[^%]|%(?!%))*%%[\\s\\S]*?%%/,inside:{c:{pattern:/%\\{[\\s\\S]*?%\\}|\\{(?:\\{[^}]*\\}|[^{}])*\\}/,inside:{delimiter:{pattern:/^%?\\{|%?\\}$/,alias:\"punctuation\"},\"bison-variable\":{pattern:/[$@](?:<[^\\s>]+>)?[\\w$]+/,alias:\"variable\",inside:{punctuation:/<|>/}},rest:Prism.languages.c}},comment:Prism.languages.c.comment,string:Prism.languages.c.string,property:/\\S+(?=:)/,keyword:/%\\w+/,number:{pattern:/(^|[^@])\\b(?:0x[\\da-f]+|\\d+)/i,lookbehind:!0},punctuation:/%[%?]|[|:;\\[\\]<>]/}}});\nPrism.languages.bnf={string:{pattern:/\"[^\\r\\n\"]*\"|'[^\\r\\n']*'/},definition:{pattern:/<[^<>\\r\\n\\t]+>(?=\\s*::=)/,alias:[\"rule\",\"keyword\"],inside:{punctuation:/^<|>$/}},rule:{pattern:/<[^<>\\r\\n\\t]+>/,inside:{punctuation:/^<|>$/}},operator:/::=|[|()[\\]{}*+?]|\\.{3}/},Prism.languages.rbnf=Prism.languages.bnf;\nPrism.languages.brainfuck={pointer:{pattern:/<|>/,alias:\"keyword\"},increment:{pattern:/\\+/,alias:\"inserted\"},decrement:{pattern:/-/,alias:\"deleted\"},branching:{pattern:/\\[|\\]/,alias:\"important\"},operator:/[.,]/,comment:/\\S+/};\nPrism.languages.brightscript={comment:/(?:\\brem|').*/i,\"directive-statement\":{pattern:/(^[\\t ]*)#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if).*/im,lookbehind:!0,alias:\"property\",inside:{\"error-message\":{pattern:/(^#error).+/,lookbehind:!0},directive:{pattern:/^#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if)/,alias:\"keyword\"},expression:{pattern:/[\\s\\S]+/,inside:null}}},property:{pattern:/([\\r\\n{,][\\t ]*)(?:(?!\\d)\\w+|\"(?:[^\"\\r\\n]|\"\")*\"(?!\"))(?=[ \\t]*:)/,lookbehind:!0,greedy:!0},string:{pattern:/\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,greedy:!0},\"class-name\":{pattern:/(\\bAs[\\t ]+)\\w+/i,lookbehind:!0},keyword:/\\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\\b/i,boolean:/\\b(?:true|false)\\b/i,function:/\\b(?!\\d)\\w+(?=[\\t ]*\\()/i,number:/(?:\\b\\d+(?:\\.\\d+)?(?:[ed][+-]\\d+)?|&h[a-f\\d]+)\\b[%&!#]?/i,operator:/--|\\+\\+|>>=?|<<=?|<>|[-+*/\\\\<>]=?|[:^=?]|\\b(?:and|mod|not|or)\\b/i,punctuation:/[.,;()[\\]{}]/,constant:/\\b(?:LINE_NUM)\\b/i},Prism.languages.brightscript[\"directive-statement\"].inside.expression.inside=Prism.languages.brightscript;\nPrism.languages.bro={comment:{pattern:/(^|[^\\\\$])#.*/,lookbehind:!0,inside:{italic:/\\b(?:TODO|FIXME|XXX)\\b/}},string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},boolean:/\\b[TF]\\b/,function:{pattern:/(?:function|hook|event) \\w+(?:::\\w+)?/,inside:{keyword:/^(?:function|hook|event)/}},variable:{pattern:/(?:global|local) \\w+/i,inside:{keyword:/(?:global|local)/}},builtin:/(?:@(?:load(?:-(?:sigs|plugin))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column))/,constant:{pattern:/const \\w+/i,inside:{keyword:/const/}},keyword:/\\b(?:break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\\b/,operator:/--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.bsl={comment:/\\/\\/.*/,string:[{pattern:/\"(?:[^\"]|\"\")*\"(?!\")/,greedy:!0},{pattern:/'(?:[^'\\r\\n\\\\]|\\\\.)*'/}],keyword:[{pattern:/(^|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1c80-\\u1c88\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\\w\\u0400-\\u0484\\u0487-\\u052f\\u1c80-\\u1c88\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])/i,lookbehind:!0},{pattern:/\\b(?:while|for|new|break|try|except|raise|else|endtry|undefined|function|var|return|endfunction|null|if|elseif|procedure|endprocedure|then|val|export|endif|in|each|true|false|to|do|enddo|execute)\\b/i}],number:{pattern:/(^(?=\\d)|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1c80-\\u1c88\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:E[+-]?\\d+)?/i,lookbehind:!0},operator:[/[<>+\\-*/]=?|[%=]/,{pattern:/(^|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1c80-\\u1c88\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:и|или|не)(?![\\w\\u0400-\\u0484\\u0487-\\u052f\\u1c80-\\u1c88\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])/i,lookbehind:!0},{pattern:/\\b(?:and|or|not)\\b/i}],punctuation:/\\(\\.|\\.\\)|[()\\[\\]:;,.]/,directive:[{pattern:/^(\\s*)&.*/m,lookbehind:!0,alias:\"important\"},{pattern:/^\\s*#.*/gm,alias:\"important\"}]},Prism.languages.oscript=Prism.languages.bsl;\nPrism.languages.cfscript=Prism.languages.extend(\"clike\",{comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,inside:{annotation:{pattern:/(?:^|[^.])@[\\w\\.]+/,alias:\"punctuation\"}}},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],keyword:/\\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\\b(?!\\s*\\=)/,operator:[/\\+\\+|--|&&|\\|\\||::|=>|[!=]==|<=?|>=?|[-+*/%&|^!=<>]=?|\\?(?:\\.|:)?|[?:]/,/\\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\\b/],scope:{pattern:/\\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\\b/,alias:\"global\"},type:{pattern:/\\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\\b/,alias:\"builtin\"}}),Prism.languages.insertBefore(\"cfscript\",\"keyword\",{\"function-variable\":{pattern:/[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,alias:\"function\"}}),delete Prism.languages.cfscript[\"class-name\"],Prism.languages.cfc=Prism.languages.cfscript;\nPrism.languages.chaiscript=Prism.languages.extend(\"clike\",{string:{pattern:/(^|[^\\\\])'(?:[^'\\\\]|\\\\[\\s\\S])*'/,lookbehind:!0,greedy:!0},\"class-name\":[{pattern:/(\\bclass\\s+)\\w+/,lookbehind:!0},{pattern:/(\\b(?:attr|def)\\s+)\\w+(?=\\s*::)/,lookbehind:!0}],keyword:/\\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\\b/,number:[Prism.languages.cpp.number,/\\b(?:Infinity|NaN)\\b/],operator:/>>=?|<<=?|\\|\\||&&|:[:=]?|--|\\+\\+|[=!<>+\\-*/%|&^]=?|[?~]|`[^`\\r\\n]{1,4}`/}),Prism.languages.insertBefore(\"chaiscript\",\"operator\",{\"parameter-type\":{pattern:/([,(]\\s*)\\w+(?=\\s+\\w)/,lookbehind:!0,alias:\"class-name\"}}),Prism.languages.insertBefore(\"chaiscript\",\"string\",{\"string-interpolation\":{pattern:/(^|[^\\\\])\"(?:[^\"$\\\\]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\}/,lookbehind:!0,inside:{\"interpolation-expression\":{pattern:/(^\\$\\{)[\\s\\S]+(?=\\}$)/,lookbehind:!0,inside:Prism.languages.chaiscript},\"interpolation-punctuation\":{pattern:/^\\$\\{|\\}$/,alias:\"punctuation\"}}},string:/[\\s\\S]+/}}});\nPrism.languages.cil={comment:/\\/\\/.*/,string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},directive:{pattern:/(^|\\W)\\.[a-z]+(?=\\s)/,lookbehind:!0,alias:\"class-name\"},variable:/\\[[\\w\\.]+\\]/,keyword:/\\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|iant|idispatch|implements|import|initonly|instance|u?int(?:8|16|32|64)?|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\\b/,function:/\\b(?:(?:constrained|unaligned|volatile|readonly|tail|no)\\.)?(?:conv\\.(?:[iu][1248]?|ovf\\.[iu][1248]?(?:\\.un)?|r\\.un|r4|r8)|ldc\\.(?:i4(?:\\.[0-9]+|\\.[mM]1|\\.s)?|i8|r4|r8)|ldelem(?:\\.[iu][1248]?|\\.r[48]|\\.ref|a)?|ldind\\.(?:[iu][1248]?|r[48]|ref)|stelem\\.?(?:i[1248]?|r[48]|ref)?|stind\\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\\.[0-3s]|a(?:\\.s)?)?|ldloc(?:\\.[0-9]+|\\.s)?|sub(?:\\.ovf(?:\\.un)?)?|mul(?:\\.ovf(?:\\.un)?)?|add(?:\\.ovf(?:\\.un)?)?|stloc(?:\\.[0-3s])?|refany(?:type|val)|blt(?:\\.un)?(?:\\.s)?|ble(?:\\.un)?(?:\\.s)?|bgt(?:\\.un)?(?:\\.s)?|bge(?:\\.un)?(?:\\.s)?|unbox(?:\\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\\.s)?|bne\\.un(?:\\.s)?|ldloca(?:\\.s)?|brzero(?:\\.s)?|brtrue(?:\\.s)?|brnull(?:\\.s)?|brinst(?:\\.s)?|starg(?:\\.s)?|leave(?:\\.s)?|shr(?:\\.un)?|rem(?:\\.un)?|div(?:\\.un)?|clt(?:\\.un)?|alignment|ldvirtftn|castclass|beq(?:\\.s)?|mkrefany|localloc|ckfinite|rethrow|ldtoken|ldsflda|cgt\\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\\b/,boolean:/\\b(?:true|false)\\b/,number:/\\b-?(?:0x[0-9a-fA-F]+|[0-9]+)(?:\\.[0-9a-fA-F]+)?\\b/i,punctuation:/[{}[\\];(),:=]|IL_[0-9A-Za-z]+/};\nPrism.languages.clojure={comment:/;.*/,string:{pattern:/\"(?:[^\"\\\\]|\\\\.)*\"/,greedy:!0},operator:/(?:::|[:|'])\\b[a-z][\\w*+!?-]*\\b/i,keyword:{pattern:/([^\\w+*'?-])(?:def|if|do|let|\\.\\.|quote|var|->>|->|fn|loop|recur|throw|try|monitor-enter|\\.|new|set!|def\\-|defn|defn\\-|defmacro|defmulti|defmethod|defstruct|defonce|declare|definline|definterface|defprotocol|==|defrecord|>=|deftype|<=|defproject|ns|\\*|\\+|\\-|\\/|<|=|>|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|conj|cons|constantly|cond|if-not|construct-proxy|contains\\?|count|create-ns|create-struct|cycle|dec|deref|difference|disj|dissoc|distinct|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\\?|ensure|eval|every\\?|false\\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|for|fnseq|frest|gensym|get-proxy-class|get|hash-map|hash-set|identical\\?|identity|if-let|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\\?|last|lazy-cat|lazy-cons|left|lefts|line-seq|list\\*|list|load|load-file|locking|long|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|name|namespace|neg\\?|newline|next|nil\\?|node|not|not-any\\?|not-every\\?|not=|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\\?|set|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\\?|split-at|split-with|str|string\\?|struct|struct-map|subs|subvec|symbol|symbol\\?|sync|take|take-nth|take-while|test|time|to-array|to-array-2d|tree-seq|true\\?|union|up|update-proxy|val|vals|var-get|var-set|var\\?|vector|vector-zip|vector\\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\\?|zipmap|zipper)(?=[^\\w+*'?-])/,lookbehind:!0},boolean:/\\b(?:true|false|nil)\\b/,number:/\\b[\\da-f]+\\b/i,punctuation:/[{}\\[\\](),]/};\nPrism.languages.cmake={comment:/#.*/,string:{pattern:/\"(?:[^\\\\\"]|\\\\.)*\"/,greedy:!0,inside:{interpolation:{pattern:/\\${(?:[^{}$]|\\${[^{}$]*})*}/,inside:{punctuation:/\\${|}/,variable:/\\w+/}}}},variable:/\\b(?:CMAKE_\\w+|\\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|(?:CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\\b/,property:/\\b(?:cxx_\\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\\w+|\\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\\b/,keyword:/\\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\\s*\\()\\b/,boolean:/\\b(?:ON|OFF|TRUE|FALSE)\\b/,namespace:/\\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\\b/,operator:/\\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\\b/,inserted:{pattern:/\\b\\w+::\\w+\\b/,alias:\"class-name\"},number:/\\b\\d+(?:\\.\\d+)*\\b/,function:/\\b[a-z_]\\w*(?=\\s*\\()\\b/i,punctuation:/[()>}]|\\$[<{]/};\n!function(e){var t=/#(?!\\{).+/,n={pattern:/#\\{[^}]+\\}/,alias:\"variable\"};e.languages.coffeescript=e.languages.extend(\"javascript\",{comment:t,string:[{pattern:/'(?:\\\\[\\s\\S]|[^\\\\'])*'/,greedy:!0},{pattern:/\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,greedy:!0,inside:{interpolation:n}}],keyword:/\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\"class-member\":{pattern:/@(?!\\d)\\w+/,alias:\"variable\"}}),e.languages.insertBefore(\"coffeescript\",\"comment\",{\"multiline-comment\":{pattern:/###[\\s\\S]+?###/,alias:\"comment\"},\"block-regex\":{pattern:/\\/{3}[\\s\\S]*?\\/{3}/,alias:\"regex\",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore(\"coffeescript\",\"string\",{\"inline-javascript\":{pattern:/`(?:\\\\[\\s\\S]|[^\\\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:\"punctuation\"},script:{pattern:/[\\s\\S]+/,alias:\"language-javascript\",inside:e.languages.javascript}}},\"multiline-string\":[{pattern:/'''[\\s\\S]*?'''/,greedy:!0,alias:\"string\"},{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0,alias:\"string\",inside:{interpolation:n}}]}),e.languages.insertBefore(\"coffeescript\",\"keyword\",{property:/(?!\\d)\\w+(?=\\s*:(?!:))/}),delete e.languages.coffeescript[\"template-string\"],e.languages.coffee=e.languages.coffeescript}(Prism);\nPrism.languages.concurnas={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],langext:{pattern:/\\w+\\s*\\|\\|[\\s\\S]+?\\|\\|/,greedy:!0,alias:\"string\"},function:{pattern:/((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/,lookbehind:!0},keyword:/\\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\\b/,boolean:/\\b(?:false|true)\\b/,number:/\\b0b[01][01_]*L?\\b|\\b0x(?:[\\da-f_]*\\.)?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfls]?/i,punctuation:/[{}[\\];(),.:]/,operator:/<==|>==|=>|->|<-|<>|\\^|&==|&<>|!|\\?|\\?:|\\.\\?|\\+\\+|--|[-+*/=<>]=?|\\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\\b=?/,annotation:{pattern:/@(?:\\w+:)?(?:\\w*|\\[[^\\]]+\\])/,alias:\"builtin\"}},Prism.languages.insertBefore(\"concurnas\",\"langext\",{string:{pattern:/[rs]?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*){(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:Prism.languages.concurnas},string:/[\\s\\S]+/}}}),Prism.languages.conc=Prism.languages.concurnas;\nPrism.languages.csp={directive:{pattern:/(^|[^-\\da-z])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[^-\\da-z]|$)/i,lookbehind:!0,alias:\"keyword\"},safe:{pattern:/'(?:deny|none|report-sample|self|strict-dynamic|top-only|(?:nonce|sha(?:256|384|512))-[-+/\\d=_a-z]+)'/i,alias:\"selector\"},unsafe:{pattern:/(?:'unsafe-(?:allow-redirects|dynamic|eval|hash-attributes|hashed-attributes|hashes|inline)'|\\*)/i,alias:\"function\"}};\n!function(e){e.languages.ruby=e.languages.extend(\"clike\",{comment:[/#.*/,{pattern:/^=begin\\s[\\s\\S]*?^=end/m,greedy:!0}],\"class-name\":{pattern:/(\\b(?:class)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/});var n={pattern:/#\\{[^}]+\\}/,inside:{delimiter:{pattern:/^#\\{|\\}$/,alias:\"tag\"},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore(\"ruby\",\"keyword\",{regex:[{pattern:RegExp(\"%r(?:\"+[\"([^a-zA-Z0-9\\\\s{(\\\\[<])(?:(?!\\\\1)[^\\\\\\\\]|\\\\\\\\[^])*\\\\1[gim]{0,3}\",\"\\\\((?:[^()\\\\\\\\]|\\\\\\\\[^])*\\\\)[gim]{0,3}\",\"\\\\{(?:[^#{}\\\\\\\\]|#(?:\\\\{[^}]+\\\\})?|\\\\\\\\[^])*\\\\}[gim]{0,3}\",\"\\\\[(?:[^\\\\[\\\\]\\\\\\\\]|\\\\\\\\[^])*\\\\][gim]{0,3}\",\"<(?:[^<>\\\\\\\\]|\\\\\\\\[^])*>[gim]{0,3}\"].join(\"|\")+\")\"),greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[gim]{0,3}(?=\\s*(?:$|[\\r\\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\\w*(?:[?!]|\\b)/,lookbehind:!0},\"method-definition\":{pattern:/(\\bdef\\s+)[\\w.]+/,lookbehind:!0,inside:{function:/\\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore(\"ruby\",\"number\",{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/,constant:/\\b[A-Z]\\w*(?:[?!]|\\b)/}),e.languages.ruby.string=[{pattern:RegExp(\"%[qQiIwWxs]?(?:\"+[\"([^a-zA-Z0-9\\\\s{(\\\\[<])(?:(?!\\\\1)[^\\\\\\\\]|\\\\\\\\[^])*\\\\1\",\"\\\\((?:[^()\\\\\\\\]|\\\\\\\\[^])*\\\\)\",\"\\\\{(?:[^#{}\\\\\\\\]|#(?:\\\\{[^}]+\\\\})?|\\\\\\\\[^])*\\\\}\",\"\\\\[(?:[^\\\\[\\\\]\\\\\\\\]|\\\\\\\\[^])*\\\\]\",\"<(?:[^<>\\\\\\\\]|\\\\\\\\[^])*>\"].join(\"|\")+\")\"),greedy:!0,inside:{interpolation:n}},{pattern:/(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,greedy:!0,inside:{interpolation:n}}],e.languages.rb=e.languages.ruby}(Prism);\n!function(e){e.languages.crystal=e.languages.extend(\"ruby\",{keyword:[/\\b(?:abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|rescue|return|require|select|self|sizeof|struct|super|then|type|typeof|uninitialized|union|unless|until|when|while|with|yield|__DIR__|__END_LINE__|__FILE__|__LINE__)\\b/,{pattern:/(\\.\\s*)(?:is_a|responds_to)\\?/,lookbehind:!0}],number:/\\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\\da-fA-F_]*[\\da-fA-F]|(?:\\d(?:[\\d_]*\\d)?)(?:\\.[\\d_]*\\d)?(?:[eE][+-]?[\\d_]*\\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\\b/}),e.languages.insertBefore(\"crystal\",\"string\",{attribute:{pattern:/@\\[.+?\\]/,alias:\"attr-name\",inside:{delimiter:{pattern:/^@\\[|\\]$/,alias:\"tag\"},rest:e.languages.crystal}},expansion:[{pattern:/\\{\\{.+?\\}\\}/,inside:{delimiter:{pattern:/^\\{\\{|\\}\\}$/,alias:\"tag\"},rest:e.languages.crystal}},{pattern:/\\{%.+?%\\}/,inside:{delimiter:{pattern:/^\\{%|%\\}$/,alias:\"tag\"},rest:e.languages.crystal}}]})}(Prism);\n!function(e){var a,n=/(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/;e.languages.css.selector={pattern:e.languages.css.selector,inside:a={\"pseudo-element\":/:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\"pseudo-class\":/:[-\\w]+/,class:/\\.[-\\w]+/,id:/#[-\\w]+/,attribute:{pattern:RegExp(\"\\\\[(?:[^[\\\\]\\\"']|\"+n.source+\")*\\\\]\"),greedy:!0,inside:{punctuation:/^\\[|\\]$/,\"case-sensitivity\":{pattern:/(\\s)[si]$/i,lookbehind:!0,alias:\"keyword\"},namespace:{pattern:/^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/,lookbehind:!0,inside:{punctuation:/\\|$/}},\"attr-name\":{pattern:/^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/,lookbehind:!0},\"attr-value\":[n,{pattern:/(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},\"n-th\":[{pattern:/(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/,lookbehind:!0,inside:{number:/[\\dn]+/,operator:/[+-]/}},{pattern:/(\\(\\s*)(?:even|odd)(?=\\s*\\))/i,lookbehind:!0}],combinator:/>|\\+|~|\\|\\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside[\"selector-function-argument\"].inside=a,e.languages.insertBefore(\"css\",\"property\",{variable:{pattern:/(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\\b\\d+)(?:%|[a-z]+\\b)/,lookbehind:!0},i={pattern:/(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,lookbehind:!0};e.languages.insertBefore(\"css\",\"function\",{operator:{pattern:/(\\s)[+\\-*\\/](?=\\s)/,lookbehind:!0},hexcode:{pattern:/\\B#(?:[\\da-f]{1,2}){3,4}\\b/i,alias:\"color\"},color:[/\\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\\b/i,{pattern:/\\b(?:rgb|hsl)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:rgb|hsl)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,inside:{unit:r,number:i,function:/[\\w-]+(?=\\()/,punctuation:/[(),]/}}],entity:/\\\\[\\da-f]{1,8}/i,unit:r,number:i})}(Prism);\nPrism.languages.cypher={comment:/\\/\\/.*/,string:{pattern:/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/,greedy:!0},\"class-name\":{pattern:/(:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)(?=\\s*[{):])/,lookbehind:!0,greedy:!0},relationship:{pattern:/(-\\[\\s*(?:\\w+\\s*|`(?:[^`\\\\\\r\\n])*`\\s*)?:\\s*|\\|\\s*:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)/,lookbehind:!0,greedy:!0,alias:\"property\"},identifier:{pattern:/`(?:[^`\\\\\\r\\n])*`/,greedy:!0,alias:\"symbol\"},variable:/\\$\\w+/,keyword:/\\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\\b/i,function:/\\b\\w+\\b(?=\\s*\\()/,boolean:/\\b(?:true|false|null)\\b/i,number:/\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)\\b/,operator:/:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\\.\\.\\.?/,punctuation:/[()[\\]{},;.]/};\nPrism.languages.d=Prism.languages.extend(\"clike\",{comment:[{pattern:/^\\s*#!.+/,greedy:!0},{pattern:RegExp(\"(^|[^\\\\\\\\])(?:\"+[\"/\\\\+(?:/\\\\+(?:[^+]|\\\\+(?!/))*\\\\+/|(?!/\\\\+)[^])*?\\\\+/\",\"//.*\",\"/\\\\*[^]*?\\\\*/\"].join(\"|\")+\")\"),lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(['\\\\b[rx]\"(?:\\\\\\\\[^]|[^\\\\\\\\\"])*\"[cwd]?','\\\\bq\"(?:\\\\[[^]*?\\\\]|\\\\([^]*?\\\\)|<[^]*?>|\\\\{[^]*?\\\\})\"','\\\\bq\"((?!\\\\d)\\\\w+)$[^]*?^\\\\1\"','\\\\bq\"(.)[^]*?\\\\2\"',\"'(?:\\\\\\\\(?:\\\\W|\\\\w+)|[^\\\\\\\\])'\",'([\"`])(?:\\\\\\\\[^]|(?!\\\\3)[^\\\\\\\\])*\\\\3[cwd]?'].join(\"|\"),\"m\"),greedy:!0},{pattern:/\\bq\\{(?:\\{[^{}]*\\}|[^{}])*\\}/,greedy:!0,alias:\"token-string\"}],keyword:/\\$|\\b(?:abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__(?:(?:FILE|MODULE|LINE|FUNCTION|PRETTY_FUNCTION|DATE|EOF|TIME|TIMESTAMP|VENDOR|VERSION)__|gshared|traits|vector|parameters)|string|wstring|dstring|size_t|ptrdiff_t)\\b/,number:[/\\b0x\\.?[a-f\\d_]+(?:(?!\\.\\.)\\.[a-f\\d_]*)?(?:p[+-]?[a-f\\d_]+)?[ulfi]{0,4}/i,{pattern:/((?:\\.\\.)?)(?:\\b0b\\.?|\\b|\\.)\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?[ulfi]{0,4}/i,lookbehind:!0}],operator:/\\|[|=]?|&[&=]?|\\+[+=]?|-[-=]?|\\.?\\.\\.|=[>=]?|!(?:i[ns]\\b|<>?=?|>=?|=)?|\\bi[ns]\\b|(?:<[<>]?|>>?>?|\\^\\^|[*\\/%^~])=?/}),Prism.languages.insertBefore(\"d\",\"keyword\",{property:/\\B@\\w*/}),Prism.languages.insertBefore(\"d\",\"function\",{register:{pattern:/\\b(?:[ABCD][LHX]|E[ABCD]X|E?(?:BP|SP|DI|SI)|[ECSDGF]S|CR[0234]|DR[012367]|TR[3-7]|X?MM[0-7]|R[ABCD]X|[BS]PL|R[BS]P|[DS]IL|R[DS]I|R(?:[89]|1[0-5])[BWD]?|XMM(?:[89]|1[0-5])|YMM(?:1[0-5]|\\d))\\b|\\bST(?:\\([0-7]\\)|\\b)/,alias:\"variable\"}});\nPrism.languages.dart=Prism.languages.extend(\"clike\",{string:[{pattern:/r?(\"\"\"|''')[\\s\\S]*?\\1/,greedy:!0},{pattern:/r?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0}],keyword:[/\\b(?:async|sync|yield)\\*/,/\\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\\b/],operator:/\\bis!|\\b(?:as|is)\\b|\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?/}),Prism.languages.insertBefore(\"dart\",\"function\",{metadata:{pattern:/@\\w+/,alias:\"symbol\"}});\nPrism.languages.dataweave={url:/\\b[A-Za-z]+:\\/\\/[\\w/:.?=&-]+|\\burn:[\\w:.?=&-]+/,property:{pattern:/(?:\\w+#)?(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|\\w+)(?=\\s*[:@])/,greedy:!0},string:{pattern:/([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0},\"mime-type\":/\\b(?:text|audio|video|application|multipart|image)\\/[\\w+-]+/,date:{pattern:/\\|[\\w:+-]+\\|/,greedy:!0},comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],regex:{pattern:/\\/(?:[^\\\\\\/\\r\\n]|\\\\[^\\r\\n])+\\//,greedy:!0},function:/\\b[A-Za-z_]\\w*(?=\\s*\\()/i,number:/-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,punctuation:/[{}[\\];(),.:@]/,operator:/<<|>>|->|[<>~=]=?|!=|--?-?|\\+\\+?|\\!|\\?/,boolean:/\\b(?:true|false)\\b/,keyword:/\\b(?:match|input|output|ns|type|update|null|if|else|using|unless|at|is|as|case|do|fun|var|not|and|or)\\b/};\nPrism.languages.dax={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/).*)/,lookbehind:!0},\"data-field\":{pattern:/'(?:[^']|'')*'(?!')(?:\\[[ \\w\\xA0-\\uFFFF]+\\])?|\\w+\\[[ \\w\\xA0-\\uFFFF]+\\]/,alias:\"symbol\"},measure:{pattern:/\\[[ \\w\\xA0-\\uFFFF]+\\]/,alias:\"constant\"},string:{pattern:/\"(?:[^\"]|\"\")*\"(?!\")/,greedy:!0},function:/\\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\\.DIST|BETA\\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\\.DIST|CHISQ\\.DIST\\.RT|CHISQ\\.INV|CHISQ\\.INV\\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\\.NORM|CONFIDENCE\\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\\.DIST|NORM\\.INV|NORM\\.S\\.DIST|NORM\\.S\\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\\.EXC|PERCENTILE\\.INC|PERCENTILEX\\.EXC|PERCENTILEX\\.INC|PERMUT|PI|POISSON\\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\\.P|STDEV\\.S|STDEVX\\.P|STDEVX\\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\\.DIST|T\\.DIST\\.2T|T\\.DIST\\.RT|T\\.INV|T\\.INV\\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\\.P|VAR\\.S|VARX\\.P|VARX\\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\\s*\\()/i,keyword:/\\b(?:DEFINE|MEASURE|EVALUATE|ORDER\\s+BY|RETURN|VAR|START\\s+AT|ASC|DESC)\\b/i,boolean:{pattern:/\\b(?:TRUE|FALSE|NULL)\\b/i,alias:\"constant\"},number:/\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,operator:/:=|[-+*\\/=^]|&&?|\\|\\||<(?:=>?|<|>)?|>[>=]?|\\b(?:IN|NOT)\\b/i,punctuation:/[;\\[\\](){}`,.]/};\nPrism.languages.dhall={comment:/--.*|\\{-(?:[^-{]|-(?!\\})|\\{(?!-)|\\{-(?:[^-{]|-(?!\\})|\\{(?!-))*-\\})*-\\}/,string:{pattern:/\"(?:[^\"\\\\]|\\\\.)*\"|''(?:[^']|'(?!')|'''|''\\$\\{)*''(?!'|\\$)/,greedy:!0,inside:{interpolation:{pattern:/\\$\\{[^{}]*\\}/,inside:{expression:{pattern:/(^\\$\\{)[\\s\\S]+(?=\\}$)/,lookbehind:!0,alias:\"language-dhall\",inside:null},punctuation:/\\$\\{|\\}/}}}},label:{pattern:/`[^`]*`/,greedy:!0},url:{pattern:/\\bhttps?:\\/\\/[\\w.:%!$&'*+;=@~-]+(?:\\/[\\w.:%!$&'*+;=@~-]*)*(?:\\?[/?\\w.:%!$&'*+;=@~-]*)?/,greedy:!0},env:{pattern:/\\benv:(?:(?!\\d)\\w+|\"(?:[^\"\\\\=]|\\\\.)*\")/,greedy:!0,inside:{function:/^env/,operator:/^:/,variable:/[\\s\\S]+/}},hash:{pattern:/\\bsha256:[\\da-fA-F]{64}\\b/,inside:{function:/sha256/,operator:/:/,number:/[\\da-fA-F]{64}/}},keyword:/\\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\\b|\\u2200/,builtin:/\\b(?:Some|None)\\b/,boolean:/\\b(?:False|True)\\b/,number:/\\bNaN\\b|-?\\bInfinity\\b|[+-]?\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/,operator:/\\/\\\\|\\/\\/\\\\\\\\|&&|\\|\\||[!=]=|===|\\/\\/|->|\\+\\+|::|[+*#@=:?<>|\\\\\\u2227\\u2a53\\u2261\\u2afd\\u03bb\\u2192]/,punctuation:/\\.\\.|[{}\\[\\](),./]/,\"class-name\":/\\b[A-Z]\\w*\\b/},Prism.languages.dhall.string.inside.interpolation.inside.expression.inside=Prism.languages.dhall;\n!function(i){i.languages.diff={coord:[/^(?:\\*{3}|-{3}|\\+{3}).*$/m,/^@@.*@@$/m,/^\\d.*$/m]};var r={\"deleted-sign\":\"-\",\"deleted-arrow\":\"<\",\"inserted-sign\":\"+\",\"inserted-arrow\":\">\",unchanged:\" \",diff:\"!\"};Object.keys(r).forEach(function(e){var n=r[e],a=[];/^\\w+$/.test(e)||a.push(/\\w+/.exec(e)[0]),\"diff\"===e&&a.push(\"bold\"),i.languages.diff[e]={pattern:RegExp(\"^(?:[\"+n+\"].*(?:\\r\\n?|\\n|(?![\\\\s\\\\S])))+\",\"m\"),alias:a,inside:{line:{pattern:/(.)(?=[\\s\\S]).*(?:\\r\\n?|\\n)?/,lookbehind:!0},prefix:{pattern:/[\\s\\S]/,alias:/\\w+/.exec(e)[0]}}}}),Object.defineProperty(i.languages.diff,\"PREFIXES\",{value:r})}(Prism);\n!function(h){function v(e,n){return\"___\"+e.toUpperCase()+n+\"___\"}Object.defineProperties(h.languages[\"markup-templating\"]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if(\"function\"==typeof o&&!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&&p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t<n.length&&!(m>=d.length);t++){var a=n[t];if(\"string\"==typeof a||a.content&&\"string\"==typeof a.content){var r=d[m],o=p.tokenStack[r],c=\"string\"==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1<u){++m;var g=c.substring(0,u),l=new h.Token(k,h.tokenize(o,p.grammar),\"language-\"+k,o),s=c.substring(u+i.length),f=[];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}}else a.content&&e(a.content)}return n}(p.tokens)}}}})}(Prism);\n!function(e){e.languages.django={comment:/^{#[\\s\\S]*?#}$/,tag:{pattern:/(^{%[+-]?\\s*)\\w+/,lookbehind:!0,alias:\"keyword\"},delimiter:{pattern:/^{[{%][+-]?|[+-]?[}%]}$/,alias:\"punctuation\"},string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},filter:{pattern:/(\\|)\\w+/,lookbehind:!0,alias:\"function\"},test:{pattern:/(\\bis\\s+(?:not\\s+)?)(?!not\\b)\\w+/,lookbehind:!0,alias:\"function\"},function:/\\b[a-z_]\\w+(?=\\s*\\()/i,keyword:/\\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\\b/,operator:/[-+*/%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,number:/\\b\\d+(?:\\.\\d+)?\\b/,boolean:/[Tt]rue|[Ff]alse|[Nn]one/,variable:/\\b\\w+?\\b/,punctuation:/[{}[\\](),.:;]/};var n=/{{[\\s\\S]*?}}|{%[\\s\\S]*?%}|{#[\\s\\S]*?#}/g,o=e.languages[\"markup-templating\"];e.hooks.add(\"before-tokenize\",function(e){o.buildPlaceholders(e,\"django\",n)}),e.hooks.add(\"after-tokenize\",function(e){o.tokenizePlaceholders(e,\"django\")}),e.languages.jinja2=e.languages.django,e.hooks.add(\"before-tokenize\",function(e){o.buildPlaceholders(e,\"jinja2\",n)}),e.hooks.add(\"after-tokenize\",function(e){o.tokenizePlaceholders(e,\"jinja2\")})}(Prism);\nPrism.languages[\"dns-zone-file\"]={comment:/;.*/,string:{pattern:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,greedy:!0},variable:[{pattern:/(^\\$ORIGIN[ \\t]+)\\S+/m,lookbehind:!0},{pattern:/(^|\\s)@(?=\\s|$)/,lookbehind:!0}],keyword:/^\\$(?:ORIGIN|INCLUDE|TTL)(?=\\s|$)/m,class:{pattern:/(^|\\s)(?:IN|CH|CS|HS)(?=\\s|$)/,lookbehind:!0,alias:\"keyword\"},type:{pattern:/(^|\\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\\s|$)/,lookbehind:!0,alias:\"keyword\"},punctuation:/[()]/},Prism.languages[\"dns-zone\"]=Prism.languages[\"dns-zone-file\"];\n!function(e){var r=\"(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)\".replace(/<SP_BS>/g,function(){return\"\\\\\\\\[\\r\\n](?:\\\\s|\\\\\\\\[\\r\\n]|#.*(?!.))*(?![\\\\s#]|\\\\\\\\[\\r\\n])\"}),n=\"\\\"(?:[^\\\"\\\\\\\\\\r\\n]|\\\\\\\\(?:\\r\\n|[^]))*\\\"|'(?:[^'\\\\\\\\\\r\\n]|\\\\\\\\(?:\\r\\n|[^]))*'\",t=\"--[\\\\w-]+=(?:<STR>|(?![\\\"'])(?:[^\\\\s\\\\\\\\]|\\\\\\\\.)+)\".replace(/<STR>/g,function(){return n}),o={pattern:RegExp(n),greedy:!0},i={pattern:/(^[ \\t]*)#.*/m,lookbehind:!0,greedy:!0};function a(e,n){return e=e.replace(/<OPT>/g,function(){return t}).replace(/<SP>/g,function(){return r}),RegExp(e,n)}e.languages.docker={instruction:{pattern:/(^[ \\t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)(?:\\\\.|[^\\r\\n\\\\])*(?:\\\\$(?:\\s|#.*$)*(?![\\s#])(?:\\\\.|[^\\r\\n\\\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:a(\"(^(?:ONBUILD<SP>)?\\\\w+<SP>)<OPT>(?:<SP><OPT>)*\",\"i\"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\\s)--[\\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?![\"'])(?:[^\\s\\\\]|\\\\.)+/,lookbehind:!0}],operator:/\\\\$/m,punctuation:/=/}},keyword:[{pattern:a(\"(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\\\b\",\"i\"),lookbehind:!0,greedy:!0},{pattern:a(\"(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\\\\\]+<SP>)AS\",\"i\"),lookbehind:!0,greedy:!0},{pattern:a(\"(^ONBUILD<SP>)\\\\w+\",\"i\"),lookbehind:!0,greedy:!0},{pattern:/^\\w+/,greedy:!0}],comment:i,string:o,variable:/\\$(?:\\w+|\\{[^{}\"'\\\\]*\\})/,operator:/\\\\$/m}},comment:i},e.languages.dockerfile=e.languages.docker}(Prism);\n!function(e){var n=\"(?:\"+[\"[a-zA-Z_\\\\x80-\\\\uFFFF][\\\\w\\\\x80-\\\\uFFFF]*\",\"-?(?:\\\\.\\\\d+|\\\\d+(?:\\\\.\\\\d*)?)\",'\"[^\"\\\\\\\\]*(?:\\\\\\\\[^][^\"\\\\\\\\]*)*\"',\"<(?:[^<>]|(?!\\x3c!--)<(?:[^<>\\\"']|\\\"[^\\\"]*\\\"|'[^']*')+>|\\x3c!--(?:[^-]|-(?!->))*--\\x3e)*>\"].join(\"|\")+\")\",a={markup:{pattern:/(^<)[\\s\\S]+(?=>$)/,lookbehind:!0,alias:[\"language-markup\",\"language-html\",\"language-xml\"],inside:e.languages.markup}};function r(e,a){return RegExp(e.replace(/<ID>/g,function(){return n}),a)}e.languages.dot={comment:{pattern:/\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|^#.*/m,greedy:!0},\"graph-name\":{pattern:r(\"(\\\\b(?:digraph|graph|subgraph)[ \\t\\r\\n]+)<ID>\",\"i\"),lookbehind:!0,greedy:!0,alias:\"class-name\",inside:a},\"attr-value\":{pattern:r(\"(=[ \\t\\r\\n]*)<ID>\"),lookbehind:!0,greedy:!0,inside:a},\"attr-name\":{pattern:r(\"([\\\\[;, \\t\\r\\n])<ID>(?=[ \\t\\r\\n]*=)\"),lookbehind:!0,greedy:!0,inside:a},keyword:/\\b(?:digraph|edge|graph|node|strict|subgraph)\\b/i,\"compass-point\":{pattern:/(:[ \\t\\r\\n]*)(?:[ns][ew]?|[ewc_])(?![\\w\\x80-\\uFFFF])/,lookbehind:!0,alias:\"builtin\"},node:{pattern:r(\"(^|[^-.\\\\w\\\\x80-\\\\uFFFF\\\\\\\\])<ID>\"),lookbehind:!0,greedy:!0,inside:a},operator:/[=:]|-[->]/,punctuation:/[\\[\\]{};,]/},e.languages.gv=e.languages.dot}(Prism);\nPrism.languages.ebnf={comment:/\\(\\*[\\s\\S]*?\\*\\)/,string:{pattern:/\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,greedy:!0},special:{pattern:/\\?[^?\\r\\n]*\\?/,greedy:!0,alias:\"class-name\"},definition:{pattern:/^(\\s*)[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*(?=\\s*=)/im,lookbehind:!0,alias:[\"rule\",\"keyword\"]},rule:/\\b[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*\\b/i,punctuation:/\\([:/]|[:/]\\)|[.,;()[\\]{}]/,operator:/[-=|*/!]/};\nPrism.languages.editorconfig={comment:/[;#].*/,section:{pattern:/(^[ \\t]*)\\[.+]/m,lookbehind:!0,alias:\"keyword\",inside:{regex:/\\\\\\\\[\\[\\]{},!?.*]/,operator:/[!?]|\\.\\.|\\*{1,2}/,punctuation:/[\\[\\]{},]/}},property:{pattern:/(^[ \\t]*)[^\\s=]+(?=[ \\t]*=)/m,lookbehind:!0},value:{pattern:/=.*/,alias:\"string\",inside:{punctuation:/^=/}}};\nPrism.languages.eiffel={comment:/--.*/,string:[{pattern:/\"([^[]*)\\[[\\s\\S]*?\\]\\1\"/,greedy:!0},{pattern:/\"([^{]*)\\{[\\s\\S]*?\\}\\1\"/,greedy:!0},{pattern:/\"(?:%(?:(?!\\n)\\s)*\\n\\s*%|%\\S|[^%\"\\r\\n])*\"/,greedy:!0}],char:/'(?:%.|[^%'\\r\\n])+'/,keyword:/\\b(?:across|agent|alias|all|and|attached|as|assign|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\\b/i,boolean:/\\b(?:True|False)\\b/i,\"class-name\":{pattern:/\\b[A-Z][\\dA-Z_]*\\b/,alias:\"builtin\"},number:[/\\b0[xcb][\\da-f](?:_*[\\da-f])*\\b/i,/(?:\\b\\d(?:_*\\d)*)?\\.(?:(?:\\d(?:_*\\d)*)?e[+-]?)?\\d(?:_*\\d)*\\b|\\b\\d(?:_*\\d)*\\b\\.?/i],punctuation:/:=|<<|>>|\\(\\||\\|\\)|->|\\.(?=\\w)|[{}[\\];(),:?]/,operator:/\\\\\\\\|\\|\\.\\.\\||\\.\\.|\\/[~\\/=]?|[><]=?|[-+*^=~]/};\n!function(e){e.languages.ejs={delimiter:{pattern:/^<%[-_=]?|[-_]?%>$/,alias:\"punctuation\"},comment:/^#[\\s\\S]*/,\"language-javascript\":{pattern:/[\\s\\S]+/,inside:e.languages.javascript}},e.hooks.add(\"before-tokenize\",function(a){e.languages[\"markup-templating\"].buildPlaceholders(a,\"ejs\",/<%(?!%)[\\s\\S]+?%>/g)}),e.hooks.add(\"after-tokenize\",function(a){e.languages[\"markup-templating\"].tokenizePlaceholders(a,\"ejs\")}),e.languages.eta=e.languages.ejs}(Prism);\nPrism.languages.elixir={doc:{pattern:/@(?:doc|moduledoc)\\s+(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2)/,inside:{attribute:/^@\\w+/,string:/['\"][\\s\\S]+/}},comment:{pattern:/#.*/m,greedy:!0},regex:{pattern:/~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|#(?!\\{)|[^#\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/(\"\"\"|''')[\\s\\S]*?\\1/,greedy:!0,inside:{}},{pattern:/(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\\w+/,lookbehind:!0,alias:\"symbol\"},module:{pattern:/\\b[A-Z]\\w*\\b/,alias:\"class-name\"},\"attr-name\":/\\w+\\??:(?!:)/,argument:{pattern:/(^|[^&])&\\d+/,lookbehind:!0,alias:\"variable\"},attribute:{pattern:/@\\w+/,alias:\"variable\"},function:/\\b[_a-zA-Z]\\w*[?!]?(?:(?=\\s*(?:\\.\\s*)?\\()|(?=\\/\\d+))/,number:/\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,keyword:/\\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct|delegate)?|do|else|end|fn|for|if|import|not|or|raise|require|rescue|try|unless|use|when)\\b/,boolean:/\\b(?:true|false|nil)\\b/,operator:[/\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\\[\\]{}()]/},Prism.languages.elixir.string.forEach(function(e){e.inside={interpolation:{pattern:/#\\{[^}]+\\}/,inside:{delimiter:{pattern:/^#\\{|\\}$/,alias:\"punctuation\"},rest:Prism.languages.elixir}}}});\nPrism.languages.elm={comment:/--.*|{-[\\s\\S]*?-}/,char:{pattern:/'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+))'/,greedy:!0},string:[{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0},{pattern:/\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"/,greedy:!0}],\"import-statement\":{pattern:/^\\s*import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+(?:[A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,inside:{keyword:/\\b(?:import|as|exposing)\\b/}},keyword:/\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,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/,number:/\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,operator:/\\s\\.\\s|[+\\-/*=.$<>:&|^?%#@~!]{2,}|[+\\-/*=$<>:&|^?%#@~!]/,hvariable:/\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,constant:/\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,punctuation:/[{}[\\]|(),.:]/};\nPrism.languages.lua={comment:/^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,string:{pattern:/([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[^z]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,greedy:!0},number:/\\b0x[a-f\\d]+(?:\\.[a-f\\d]*)?(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|(?:\\.\\d*)?(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,keyword:/\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,function:/(?!\\d)\\w+(?=\\s*(?:[({]))/,operator:[/[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\\.\\.(?!\\.)/,lookbehind:!0}],punctuation:/[\\[\\](){},;]|\\.+|:+/};\n!function(e){e.languages.etlua={delimiter:{pattern:/^<%[-=]?|-?%>$/,alias:\"punctuation\"},\"language-lua\":{pattern:/[\\s\\S]+/,inside:e.languages.lua}},e.hooks.add(\"before-tokenize\",function(a){e.languages[\"markup-templating\"].buildPlaceholders(a,\"etlua\",/<%[\\s\\S]+?%>/g)}),e.hooks.add(\"after-tokenize\",function(a){e.languages[\"markup-templating\"].tokenizePlaceholders(a,\"etlua\")})}(Prism);\n!function(n){n.languages.erb=n.languages.extend(\"ruby\",{}),n.languages.insertBefore(\"erb\",\"comment\",{delimiter:{pattern:/^<%=?|%>$/,alias:\"punctuation\"}}),n.hooks.add(\"before-tokenize\",function(e){n.languages[\"markup-templating\"].buildPlaceholders(e,\"erb\",/<%=?(?:[^\\r\\n]|[\\r\\n](?!=begin)|[\\r\\n]=begin\\s[\\s\\S]*?^=end)+?%>/gm)}),n.hooks.add(\"after-tokenize\",function(e){n.languages[\"markup-templating\"].tokenizePlaceholders(e,\"erb\")})}(Prism);\nPrism.languages.erlang={comment:/%.+/,string:{pattern:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,greedy:!0},\"quoted-function\":{pattern:/'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,alias:\"function\"},\"quoted-atom\":{pattern:/'(?:\\\\.|[^\\\\'\\r\\n])+'/,alias:\"atom\"},boolean:/\\b(?:true|false)\\b/,keyword:/\\b(?:fun|when|case|of|end|if|receive|after|try|catch)\\b/,number:[/\\$\\\\?./,/\\d+#[a-z0-9]+/i,/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i],function:/\\b[a-z][\\w@]*(?=\\()/,variable:{pattern:/(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,lookbehind:!0},operator:[/[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\\b[a-z][\\w@]*/,punctuation:/[()[\\]{}:;,.#|]|<<|>>/};\nPrism.languages[\"excel-formula\"]={comment:{pattern:/(\\bN\\(\\s*)\"(?:[^\"]|\"\")*\"(?=\\s*\\))/i,lookbehind:!0,greedy:!0},string:{pattern:/\"(?:[^\"]|\"\")*\"(?!\")/,greedy:!0},reference:{pattern:/(?:'[^']*'|(?:[^\\s()[\\]{}<>*?\"';,$&]*\\[[^^\\s()[\\]{}<>*?\"']+\\])?\\w+)!/,greedy:!0,alias:\"string\",inside:{operator:/!$/,punctuation:/'/,sheet:{pattern:/[^[\\]]+$/,alias:\"function\"},file:{pattern:/\\[[^[\\]]+\\]$/,inside:{punctuation:/[[\\]]/}},path:/[\\s\\S]+/}},\"function-name\":{pattern:/\\b[A-Z]\\w*(?=\\()/i,alias:\"keyword\"},range:{pattern:/\\$?\\b(?:[A-Z]+\\$?\\d+:\\$?[A-Z]+\\$?\\d+|[A-Z]+:\\$?[A-Z]+|\\d+:\\$?\\d+)\\b/i,alias:\"property\",inside:{operator:/:/,cell:/\\$?[A-Z]+\\$?\\d+/i,column:/\\$?[A-Z]+/i,row:/\\$?\\d+/}},cell:{pattern:/\\b[A-Z]+\\d+\\b|\\$[A-Za-z]+\\$?\\d+\\b|\\b[A-Za-z]+\\$\\d+\\b/,alias:\"property\"},number:/(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,boolean:/\\b(?:TRUE|FALSE)\\b/i,operator:/[-+*/^%=&,]|<[=>]?|>=?/,punctuation:/[[\\]();{}|]/},Prism.languages.xlsx=Prism.languages.xls=Prism.languages[\"excel-formula\"];\nPrism.languages.fsharp=Prism.languages.extend(\"clike\",{comment:[{pattern:/(^|[^\\\\])\\(\\*(?!\\))[\\s\\S]*?\\*\\)/,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0}],string:{pattern:/(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")B?|'(?:[^\\\\']|\\\\(?:.|\\d{3}|x[a-fA-F\\d]{2}|u[a-fA-F\\d]{4}|U[a-fA-F\\d]{8}))'B?/,greedy:!0},\"class-name\":{pattern:/(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,lookbehind:!0,inside:{operator:/->|\\*/,punctuation:/\\./}},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/,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/],operator:/([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|<?\\|{1,3}>?|\\??(?:<=|>=|<>|[-+*/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/}),Prism.languages.insertBefore(\"fsharp\",\"keyword\",{preprocessor:{pattern:/^[^\\r\\n\\S]*#.*/m,alias:\"property\",inside:{directive:{pattern:/(\\s*#)\\b(?:else|endif|if|light|line|nowarn)\\b/,lookbehind:!0,alias:\"keyword\"}}}}),Prism.languages.insertBefore(\"fsharp\",\"punctuation\",{\"computation-expression\":{pattern:/[_a-z]\\w*(?=\\s*\\{)/i,alias:\"keyword\"}}),Prism.languages.insertBefore(\"fsharp\",\"string\",{annotation:{pattern:/\\[<.+?>\\]/,inside:{punctuation:/^\\[<|>\\]$/,\"class-name\":{pattern:/^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,lookbehind:!0},\"annotation-content\":{pattern:/[\\s\\S]+/,inside:Prism.languages.fsharp}}}});\n!function(e){var t={function:/\\b(?:TODOS?|FIX(?:MES?)?|NOTES?|BUGS?|XX+|HACKS?|WARN(?:ING)?|\\?{2,}|!{2,})\\b/},s={number:/\\\\[^\\s']|%\\w/},i={comment:[{pattern:/(^|\\s)(?:! .*|!$)/,lookbehind:!0,inside:t},{pattern:/(^|\\s)\\/\\*\\s[\\s\\S]*?\\*\\/(?=\\s|$)/,lookbehind:!0,greedy:!0,inside:t},{pattern:/(^|\\s)!\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,lookbehind:!0,greedy:!0,inside:t}],number:[{pattern:/(^|\\s)[+-]?\\d+(?=\\s|$)/,lookbehind:!0},{pattern:/(^|\\s)[+-]?0(?:b[01]+|o[0-7]+|d\\d+|x[\\dA-F]+)(?=\\s|$)/i,lookbehind:!0},{pattern:/(^|\\s)[+-]?\\d+\\/\\d+\\.?(?=\\s|$)/,lookbehind:!0},{pattern:/(^|\\s)\\+?\\d+\\+\\d+\\/\\d+(?=\\s|$)/,lookbehind:!0},{pattern:/(^|\\s)-\\d+-\\d+\\/\\d+(?=\\s|$)/,lookbehind:!0},{pattern:/(^|\\s)[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)(?:e[+-]?\\d+)?(?=\\s|$)/i,lookbehind:!0},{pattern:/(^|\\s)NAN:\\s+[\\da-fA-F]+(?=\\s|$)/,lookbehind:!0},{pattern:/(^|\\s)[+-]?0(?:b1\\.[01]*|o1\\.[0-7]*|d1\\.\\d*|x1\\.[\\dA-F]*)p\\d+(?=\\s|$)/i,lookbehind:!0}],regexp:{pattern:/(^|\\s)R\\/\\s(?:\\\\\\S|[^\\\\/])*\\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\\s|$)/,lookbehind:!0,alias:\"number\",inside:{variable:/\\\\\\S/,keyword:/[+?*\\[\\]^$(){}.|]/,operator:{pattern:/(\\/)[idmsr]+(?:-[idmsr]+)?/,lookbehind:!0}}},boolean:{pattern:/(^|\\s)[tf](?=\\s|$)/,lookbehind:!0},\"custom-string\":{pattern:/(^|\\s)[A-Z0-9\\-]+\"\\s(?:\\\\\\S|[^\"\\\\])*\"/,lookbehind:!0,greedy:!0,alias:\"string\",inside:{number:/\\\\\\S|%\\w|\\//}},\"multiline-string\":[{pattern:/(^|\\s)STRING:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*;(?=\\s|$)/,lookbehind:!0,greedy:!0,alias:\"string\",inside:{number:s.number,\"semicolon-or-setlocal\":{pattern:/((?:\\n|\\r\\n)\\s*);(?=\\s|$)/,lookbehind:!0,alias:\"function\"}}},{pattern:/(^|\\s)HEREDOC:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*\\S+(?=\\s|$)/,lookbehind:!0,greedy:!0,alias:\"string\",inside:s},{pattern:/(^|\\s)\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,lookbehind:!0,greedy:!0,alias:\"string\",inside:s}],\"special-using\":{pattern:/(^|\\s)USING:(?:\\s\\S+)*(?=\\s+;(?:\\s|$))/,lookbehind:!0,alias:\"function\",inside:{string:{pattern:/(\\s)[^:\\s]+/,lookbehind:!0}}},\"stack-effect-delimiter\":[{pattern:/(^|\\s)(?:call|execute|eval)?\\((?=\\s)/,lookbehind:!0,alias:\"operator\"},{pattern:/(\\s)--(?=\\s)/,lookbehind:!0,alias:\"operator\"},{pattern:/(\\s)\\)(?=\\s|$)/,lookbehind:!0,alias:\"operator\"}],combinators:{pattern:null,lookbehind:!0,alias:\"keyword\"},\"kernel-builtin\":{pattern:null,lookbehind:!0,alias:\"variable\"},\"sequences-builtin\":{pattern:null,lookbehind:!0,alias:\"variable\"},\"math-builtin\":{pattern:null,lookbehind:!0,alias:\"variable\"},\"constructor-word\":{pattern:/(^|\\s)<(?!=+>|-+>)\\S+>(?=\\s|$)/,lookbehind:!0,alias:\"keyword\"},\"other-builtin-syntax\":{pattern:null,lookbehind:!0,alias:\"operator\"},\"conventionally-named-word\":{pattern:/(^|\\s)(?!\")(?:(?:set|change|with|new)-\\S+|\\$\\S+|>[^>\\s]+|[^:>\\s]+>|[^>\\s]+>[^>\\s]+|\\+[^+\\s]+\\+|[^?\\s]+\\?|\\?[^?\\s]+|[^>\\s]+>>|>>[^>\\s]+|[^<\\s]+<<|\\([^()\\s]+\\)|[^!\\s]+!|[^*\\s]\\S*\\*|[^.\\s]\\S*\\.)(?=\\s|$)/,lookbehind:!0,alias:\"keyword\"},\"colon-syntax\":{pattern:/(^|\\s)(?:[A-Z0-9\\-]+#?)?:{1,2}\\s+(?:;\\S+|(?!;)\\S+)(?=\\s|$)/,lookbehind:!0,greedy:!0,alias:\"function\"},\"semicolon-or-setlocal\":{pattern:/(\\s)(?:;|:>)(?=\\s|$)/,lookbehind:!0,alias:\"function\"},\"curly-brace-literal-delimiter\":[{pattern:/(^|\\s)[a-z]*\\{(?=\\s)/i,lookbehind:!0,alias:\"operator\"},{pattern:/(\\s)\\}(?=\\s|$)/,lookbehind:!0,alias:\"operator\"}],\"quotation-delimiter\":[{pattern:/(^|\\s)\\[(?=\\s)/,lookbehind:!0,alias:\"operator\"},{pattern:/(\\s)\\](?=\\s|$)/,lookbehind:!0,alias:\"operator\"}],\"normal-word\":{pattern:/(^|\\s)[^\"\\s]\\S*(?=\\s|$)/,lookbehind:!0},string:{pattern:/\"(?:\\\\\\S|[^\"\\\\])*\"/,greedy:!0,inside:s}},n=function(e){return(e+\"\").replace(/([.?*+\\^$\\[\\]\\\\(){}|\\-])/g,\"\\\\$1\")},r=function(e){return new RegExp(\"(^|\\\\s)(?:\"+e.map(n).join(\"|\")+\")(?=\\\\s|$)\")},a={\"kernel-builtin\":[\"or\",\"2nipd\",\"4drop\",\"tuck\",\"wrapper\",\"nip\",\"wrapper?\",\"callstack>array\",\"die\",\"dupd\",\"callstack\",\"callstack?\",\"3dup\",\"hashcode\",\"pick\",\"4nip\",\"build\",\">boolean\",\"nipd\",\"clone\",\"5nip\",\"eq?\",\"?\",\"=\",\"swapd\",\"2over\",\"clear\",\"2dup\",\"get-retainstack\",\"not\",\"tuple?\",\"dup\",\"3nipd\",\"call\",\"-rotd\",\"object\",\"drop\",\"assert=\",\"assert?\",\"-rot\",\"execute\",\"boa\",\"get-callstack\",\"curried?\",\"3drop\",\"pickd\",\"overd\",\"over\",\"roll\",\"3nip\",\"swap\",\"and\",\"2nip\",\"rotd\",\"throw\",\"(clone)\",\"hashcode*\",\"spin\",\"reach\",\"4dup\",\"equal?\",\"get-datastack\",\"assert\",\"2drop\",\"<wrapper>\",\"boolean?\",\"identity-hashcode\",\"identity-tuple?\",\"null\",\"composed?\",\"new\",\"5drop\",\"rot\",\"-roll\",\"xor\",\"identity-tuple\",\"boolean\"],\"other-builtin-syntax\":[\"=======\",\"recursive\",\"flushable\",\">>\",\"<<<<<<\",\"M\\\\\",\"B\",\"PRIVATE>\",\"\\\\\",\"======\",\"final\",\"inline\",\"delimiter\",\"deprecated\",\"<PRIVATE\",\">>>>>>\",\"<<<<<<<\",\"parse-complex\",\"malformed-complex\",\"read-only\",\">>>>>>>\",\"call-next-method\",\"<<\",\"foldable\",\"$\",\"$[\",\"${\"],\"sequences-builtin\":[\"member-eq?\",\"mismatch\",\"append\",\"assert-sequence=\",\"longer\",\"repetition\",\"clone-like\",\"3sequence\",\"assert-sequence?\",\"last-index-from\",\"reversed\",\"index-from\",\"cut*\",\"pad-tail\",\"join-as\",\"remove-eq!\",\"concat-as\",\"but-last\",\"snip\",\"nths\",\"nth\",\"sequence\",\"longest\",\"slice?\",\"<slice>\",\"remove-nth\",\"tail-slice\",\"empty?\",\"tail*\",\"member?\",\"virtual-sequence?\",\"set-length\",\"drop-prefix\",\"iota\",\"unclip\",\"bounds-error?\",\"unclip-last-slice\",\"non-negative-integer-expected\",\"non-negative-integer-expected?\",\"midpoint@\",\"longer?\",\"?set-nth\",\"?first\",\"rest-slice\",\"prepend-as\",\"prepend\",\"fourth\",\"sift\",\"subseq-start\",\"new-sequence\",\"?last\",\"like\",\"first4\",\"1sequence\",\"reverse\",\"slice\",\"virtual@\",\"repetition?\",\"set-last\",\"index\",\"4sequence\",\"max-length\",\"set-second\",\"immutable-sequence\",\"first2\",\"first3\",\"supremum\",\"unclip-slice\",\"suffix!\",\"insert-nth\",\"tail\",\"3append\",\"short\",\"suffix\",\"concat\",\"flip\",\"immutable?\",\"reverse!\",\"2sequence\",\"sum\",\"delete-all\",\"indices\",\"snip-slice\",\"<iota>\",\"check-slice\",\"sequence?\",\"head\",\"append-as\",\"halves\",\"sequence=\",\"collapse-slice\",\"?second\",\"slice-error?\",\"product\",\"bounds-check?\",\"bounds-check\",\"immutable\",\"virtual-exemplar\",\"harvest\",\"remove\",\"pad-head\",\"last\",\"set-fourth\",\"cartesian-product\",\"remove-eq\",\"shorten\",\"shorter\",\"reversed?\",\"shorter?\",\"shortest\",\"head-slice\",\"pop*\",\"tail-slice*\",\"but-last-slice\",\"iota?\",\"append!\",\"cut-slice\",\"new-resizable\",\"head-slice*\",\"sequence-hashcode\",\"pop\",\"set-nth\",\"?nth\",\"second\",\"join\",\"immutable-sequence?\",\"<reversed>\",\"3append-as\",\"virtual-sequence\",\"subseq?\",\"remove-nth!\",\"length\",\"last-index\",\"lengthen\",\"assert-sequence\",\"copy\",\"move\",\"third\",\"first\",\"tail?\",\"set-first\",\"prefix\",\"bounds-error\",\"<repetition>\",\"exchange\",\"surround\",\"cut\",\"min-length\",\"set-third\",\"push-all\",\"head?\",\"subseq-start-from\",\"delete-slice\",\"rest\",\"sum-lengths\",\"head*\",\"infimum\",\"remove!\",\"glue\",\"slice-error\",\"subseq\",\"push\",\"replace-slice\",\"subseq-as\",\"unclip-last\"],\"math-builtin\":[\"number=\",\"next-power-of-2\",\"?1+\",\"fp-special?\",\"imaginary-part\",\"float>bits\",\"number?\",\"fp-infinity?\",\"bignum?\",\"fp-snan?\",\"denominator\",\"gcd\",\"*\",\"+\",\"fp-bitwise=\",\"-\",\"u>=\",\"/\",\">=\",\"bitand\",\"power-of-2?\",\"log2-expects-positive\",\"neg?\",\"<\",\"log2\",\">\",\"integer?\",\"number\",\"bits>double\",\"2/\",\"zero?\",\"bits>float\",\"float?\",\"shift\",\"ratio?\",\"rect>\",\"even?\",\"ratio\",\"fp-sign\",\"bitnot\",\">fixnum\",\"complex?\",\"/i\",\"integer>fixnum\",\"/f\",\"sgn\",\">bignum\",\"next-float\",\"u<\",\"u>\",\"mod\",\"recip\",\"rational\",\">float\",\"2^\",\"integer\",\"fixnum?\",\"neg\",\"fixnum\",\"sq\",\"bignum\",\">rect\",\"bit?\",\"fp-qnan?\",\"simple-gcd\",\"complex\",\"<fp-nan>\",\"real\",\">fraction\",\"double>bits\",\"bitor\",\"rem\",\"fp-nan-payload\",\"real-part\",\"log2-expects-positive?\",\"prev-float\",\"align\",\"unordered?\",\"float\",\"fp-nan?\",\"abs\",\"bitxor\",\"integer>fixnum-strict\",\"u<=\",\"odd?\",\"<=\",\"/mod\",\">integer\",\"real?\",\"rational?\",\"numerator\"]};Object.keys(a).forEach(function(e){i[e].pattern=r(a[e])});i.combinators.pattern=r([\"2bi\",\"while\",\"2tri\",\"bi*\",\"4dip\",\"both?\",\"same?\",\"tri@\",\"curry\",\"prepose\",\"3bi\",\"?if\",\"tri*\",\"2keep\",\"3keep\",\"curried\",\"2keepd\",\"when\",\"2bi*\",\"2tri*\",\"4keep\",\"bi@\",\"keepdd\",\"do\",\"unless*\",\"tri-curry\",\"if*\",\"loop\",\"bi-curry*\",\"when*\",\"2bi@\",\"2tri@\",\"with\",\"2with\",\"either?\",\"bi\",\"until\",\"3dip\",\"3curry\",\"tri-curry*\",\"tri-curry@\",\"bi-curry\",\"keepd\",\"compose\",\"2dip\",\"if\",\"3tri\",\"unless\",\"tuple\",\"keep\",\"2curry\",\"tri\",\"most\",\"while*\",\"dip\",\"composed\",\"bi-curry@\",\"find-last-from\",\"trim-head-slice\",\"map-as\",\"each-from\",\"none?\",\"trim-tail\",\"partition\",\"if-empty\",\"accumulate*\",\"reject!\",\"find-from\",\"accumulate-as\",\"collector-for-as\",\"reject\",\"map\",\"map-sum\",\"accumulate!\",\"2each-from\",\"follow\",\"supremum-by\",\"map!\",\"unless-empty\",\"collector\",\"padding\",\"reduce-index\",\"replicate-as\",\"infimum-by\",\"trim-tail-slice\",\"count\",\"find-index\",\"filter\",\"accumulate*!\",\"reject-as\",\"map-integers\",\"map-find\",\"reduce\",\"selector\",\"interleave\",\"2map\",\"filter-as\",\"binary-reduce\",\"map-index-as\",\"find\",\"produce\",\"filter!\",\"replicate\",\"cartesian-map\",\"cartesian-each\",\"find-index-from\",\"map-find-last\",\"3map-as\",\"3map\",\"find-last\",\"selector-as\",\"2map-as\",\"2map-reduce\",\"accumulate\",\"each\",\"each-index\",\"accumulate*-as\",\"when-empty\",\"all?\",\"collector-as\",\"push-either\",\"new-like\",\"collector-for\",\"2selector\",\"push-if\",\"2all?\",\"map-reduce\",\"3each\",\"any?\",\"trim-slice\",\"2reduce\",\"change-nth\",\"produce-as\",\"2each\",\"trim\",\"trim-head\",\"cartesian-find\",\"map-index\",\"if-zero\",\"each-integer\",\"unless-zero\",\"(find-integer)\",\"when-zero\",\"find-last-integer\",\"(all-integers?)\",\"times\",\"(each-integer)\",\"find-integer\",\"all-integers?\",\"unless-negative\",\"if-positive\",\"when-positive\",\"when-negative\",\"unless-positive\",\"if-negative\",\"case\",\"2cleave\",\"cond>quot\",\"case>quot\",\"3cleave\",\"wrong-values\",\"to-fixed-point\",\"alist>quot\",\"cond\",\"cleave\",\"call-effect\",\"recursive-hashcode\",\"spread\",\"deep-spread>quot\",\"2||\",\"0||\",\"n||\",\"0&&\",\"2&&\",\"3||\",\"1||\",\"1&&\",\"n&&\",\"3&&\",\"smart-unless*\",\"keep-inputs\",\"reduce-outputs\",\"smart-when*\",\"cleave>array\",\"smart-with\",\"smart-apply\",\"smart-if\",\"inputs/outputs\",\"output>sequence-n\",\"map-outputs\",\"map-reduce-outputs\",\"dropping\",\"output>array\",\"smart-map-reduce\",\"smart-2map-reduce\",\"output>array-n\",\"nullary\",\"input<sequence\",\"append-outputs\",\"drop-inputs\",\"inputs\",\"smart-2reduce\",\"drop-outputs\",\"smart-reduce\",\"preserving\",\"smart-when\",\"outputs\",\"append-outputs-as\",\"smart-unless\",\"smart-if*\",\"sum-outputs\",\"input<sequence-unsafe\",\"output>sequence\"]),e.languages.factor=i}(Prism);\nPrism.languages[\"firestore-security-rules\"]=Prism.languages.extend(\"clike\",{comment:/\\/\\/.*/,keyword:/\\b(?:allow|function|if|match|null|return|rules_version|service)\\b/,operator:/&&|\\|\\||[<>!=]=?|[-+*/%]|\\b(?:in|is)\\b/}),delete Prism.languages[\"firestore-security-rules\"][\"class-name\"],Prism.languages.insertBefore(\"firestore-security-rules\",\"keyword\",{path:{pattern:/(^|[\\s(),])(?:\\/(?:[\\w\\xA0-\\uFFFF]+|\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)))+/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)/,inside:{operator:/=/,keyword:/\\*\\*/,punctuation:/[.$(){}]/}},punctuation:/[/]/}},method:{pattern:/(\\ballow\\s+)[a-z]+(?:\\s*,\\s*[a-z]+)*(?=\\s*[:;])/,lookbehind:!0,alias:\"builtin\",inside:{punctuation:/,/}}});\n!function(a){a.languages.flow=a.languages.extend(\"javascript\",{}),a.languages.insertBefore(\"flow\",\"keyword\",{type:[{pattern:/\\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\\b/,alias:\"tag\"}]}),a.languages.flow[\"function-variable\"].pattern=/(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i,delete a.languages.flow.parameter,a.languages.insertBefore(\"flow\",\"operator\",{\"flow-punctuation\":{pattern:/\\{\\||\\|\\}/,alias:\"punctuation\"}}),Array.isArray(a.languages.flow.keyword)||(a.languages.flow.keyword=[a.languages.flow.keyword]),a.languages.flow.keyword.unshift({pattern:/(^|[^$]\\b)(?:type|opaque|declare|Class)\\b(?!\\$)/,lookbehind:!0},{pattern:/(^|[^$]\\B)\\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\\b(?!\\$)/,lookbehind:!0})}(Prism);\nPrism.languages.fortran={\"quoted-number\":{pattern:/[BOZ](['\"])[A-F0-9]+\\1/i,alias:\"number\"},string:{pattern:/(?:\\w+_)?(['\"])(?:\\1\\1|&(?:\\r\\n?|\\n)(?:[ \\t]*!.*(?:\\r\\n?|\\n)|(?![ \\t]*!))|(?!\\1).)*(?:\\1|&)/,inside:{comment:{pattern:/(&(?:\\r\\n?|\\n)\\s*)!.*/,lookbehind:!0}}},comment:{pattern:/!.*/,greedy:!0},boolean:/\\.(?:TRUE|FALSE)\\.(?:_\\w+)?/i,number:/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[ED][+-]?\\d+)?(?:_\\w+)?/i,keyword:[/\\b(?:INTEGER|REAL|DOUBLE ?PRECISION|COMPLEX|CHARACTER|LOGICAL)\\b/i,/\\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\\b/i,/\\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\\b/i,/\\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEWHERE|ELSEIF|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\\b/i],operator:[/\\*\\*|\\/\\/|=>|[=\\/]=|[<>]=?|::|[+\\-*=%]|\\.[A-Z]+\\./i,{pattern:/(^|(?!\\().)\\/(?!\\))/,lookbehind:!0}],punctuation:/\\(\\/|\\/\\)|[(),;:&]/};\n!function(n){for(var i=\"[^<()\\\"']|\\\\((?:<expr>)*\\\\)|<(?!#--)|<#--(?:[^-]|-(?!->))*--\\x3e|\\\"(?:[^\\\\\\\\\\\"]|\\\\\\\\.)*\\\"|'(?:[^\\\\\\\\']|\\\\\\\\.)*'\",e=0;e<2;e++)i=i.replace(/<expr>/g,function(){return i});i=i.replace(/<expr>/g,\"[^\\\\s\\\\S]\");var t={comment:/<#--[\\s\\S]*?-->/,string:[{pattern:/\\br(\"|')(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,greedy:!0},{pattern:RegExp(\"(\\\"|')(?:(?!\\\\1|\\\\$\\\\{)[^\\\\\\\\]|\\\\\\\\.|\\\\$\\\\{(?:(?!\\\\})(?:<expr>))*\\\\})*\\\\1\".replace(/<expr>/g,function(){return i})),greedy:!0,inside:{interpolation:{pattern:RegExp(\"((?:^|[^\\\\\\\\])(?:\\\\\\\\\\\\\\\\)*)\\\\$\\\\{(?:(?!\\\\})(?:<expr>))*\\\\}\".replace(/<expr>/g,function(){return i})),lookbehind:!0,inside:{\"interpolation-punctuation\":{pattern:/^\\$\\{|\\}$/,alias:\"punctuation\"},rest:null}}}}],keyword:/\\b(?:as)\\b/,boolean:/\\b(?:true|false)\\b/,\"builtin-function\":{pattern:/((?:^|[^?])\\?\\s*)\\w+/,lookbehind:!0,alias:\"function\"},function:/\\w+(?=\\s*\\()/,number:/\\d+(?:\\.\\d+)?/,operator:/\\.\\.[<*!]?|->|--|\\+\\+|&&|\\|\\||\\?{1,2}|[-+*/%!=<>]=?|\\b(?:gt|gte|lt|lte)\\b/,punctuation:/[,;.:()[\\]{}]/};t.string[1].inside.interpolation.inside.rest=t,n.languages.ftl={\"ftl-comment\":{pattern:/^<#--[\\s\\S]*/,alias:\"comment\"},\"ftl-directive\":{pattern:/^<[\\s\\S]+>$/,inside:{directive:{pattern:/(^<\\/?)[#@][a-z]\\w*/i,lookbehind:!0,alias:\"keyword\"},punctuation:/^<\\/?|\\/?>$/,content:{pattern:/\\s*\\S[\\s\\S]*/,alias:\"ftl\",inside:t}}},\"ftl-interpolation\":{pattern:/^\\$\\{[\\s\\S]*\\}$/,inside:{punctuation:/^\\$\\{|\\}$/,content:{pattern:/\\s*\\S[\\s\\S]*/,alias:\"ftl\",inside:t}}}},n.hooks.add(\"before-tokenize\",function(e){var t=RegExp(\"<#--[^]*?--\\x3e|</?[#@][a-zA-Z](?:<expr>)*?>|\\\\$\\\\{(?:<expr>)*?\\\\}\".replace(/<expr>/g,function(){return i}),\"gi\");n.languages[\"markup-templating\"].buildPlaceholders(e,\"ftl\",t)}),n.hooks.add(\"after-tokenize\",function(e){n.languages[\"markup-templating\"].tokenizePlaceholders(e,\"ftl\")})}(Prism);\nPrism.languages.gamemakerlanguage=Prism.languages.gml=Prism.languages.extend(\"clike\",{keyword:/\\b(?:if|else|switch|case|default|break|for|repeat|while|do|until|continue|exit|return|globalvar|var|enum)\\b/,number:/(?:\\b0x[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ulf]{0,4}/i,operator:/[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:or|and|not|with|at|xor)\\b/,constant:/\\b(?:self|other|all|noone|global|local|undefined|pointer_(?:invalid|null)|action_(?:stop|restart|continue|reverse)|pi|GM_build_date|GM_version|timezone_(?:local|utc)|gamespeed_(?:fps|microseconds)|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|pre|post)|keypress|keyrelease|trigger|(?:left|right|middle|no)_button|(?:left|right|middle)_press|(?:left|right|middle)_release|mouse_(?:enter|leave|wheel_up|wheel_down)|global_(?:left|right|middle)_button|global_(?:left|right|middle)_press|global_(?:left|right|middle)_release|joystick(?:1|2)_(?:left|right|up|down|button1|button2|button3|button4|button5|button6|button7|button8)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\\d|step_(?:normal|begin|end)|gui|gui_begin|gui_end)|vk_(?:nokey|anykey|enter|return|shift|control|alt|escape|space|backspace|tab|pause|printscreen|left|right|up|down|home|end|delete|insert|pageup|pagedown|f\\d|numpad\\d|divide|multiply|subtract|add|decimal|lshift|lcontrol|lalt|rshift|rcontrol|ralt)|mb_(?:any|none|left|right|middle)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|purple|red|silver|teal|white|yellow|orange)|fa_(?:left|center|right|top|middle|bottom|readonly|hidden|sysfile|volumeid|directory|archive)|pr_(?:pointlist|linelist|linestrip|trianglelist|trianglestrip|trianglefan)|bm_(?:complex|normal|add|max|subtract|zero|one|src_colour|inv_src_colour|src_color|inv_src_color|src_alpha|inv_src_alpha|dest_alpha|inv_dest_alpha|dest_colour|inv_dest_colour|dest_color|inv_dest_color|src_alpha_sat)|audio_(?:falloff_(?:none|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|exponent_distance|exponent_distance_clamped)|old_system|new_system|mono|stereo|3d)|cr_(?:default|none|arrow|cross|beam|size_nesw|size_ns|size_nwse|size_we|uparrow|hourglass|drag|appstart|handpoint|size_all)|spritespeed_framesper(?:second|gameframe)|asset_(?:object|unknown|sprite|sound|room|path|script|font|timeline|tiles|shader)|ds_type_(?:map|list|stack|queue|grid|priority)|ef_(?:explosion|ring|ellipse|firework|smoke|smokeup|star|spark|flare|cloud|rain|snow)|pt_shape_(?:pixel|disk|square|line|star|circle|ring|sphere|flare|spark|explosion|cloud|smoke|snow)|ps_(?:distr|shape)_(?:linear|gaussian|invgaussian|rectangle|ellipse|diamond|line)|ty_(?:real|string)|dll_(?:cdel|cdecl|stdcall)|matrix_(?:view|projection|world)|os_(?:win32|windows|macosx|ios|android|linux|unknown|winphone|win8native|psvita|ps4|xboxone|ps3|uwp)|browser_(?:not_a_browser|unknown|ie|firefox|chrome|safari|safari_mobile|opera|tizen|windows_store|ie_mobile)|device_ios_(?:unknown|iphone|iphone_retina|ipad|ipad_retina|iphone5|iphone6|iphone6plus)|device_(?:emulator|tablet)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|of_challenge_(?:win|lose|tie)|leaderboard_type_(?:number|time_mins_secs)|cmpfunc_(?:never|less|equal|lessequal|greater|notequal|greaterequal|always)|cull_(?:noculling|clockwise|counterclockwise)|lighttype_(?:dir|point)|iap_(?:ev_storeload|ev_product|ev_purchase|ev_consume|ev_restore|storeload_ok|storeload_failed|status_uninitialised|status_unavailable|status_loading|status_available|status_processing|status_restoring|failed|unavailable|available|purchased|canceled|refunded)|fb_login_(?:default|fallback_to_webview|no_fallback_to_webview|forcing_webview|use_system_account|forcing_safari)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|reaction_force_x|reaction_force_y|reaction_torque|motor_speed|angle|motor_torque|max_motor_torque|translation|speed|motor_force|max_motor_force|length_1|length_2|damping_ratio|frequency|lower_angle_limit|upper_angle_limit|angle_limits|max_length|max_torque|max_force)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_particle_flag_(?:water|zombie|wall|spring|elastic|viscous|powder|tensile|colourmixing|colormixing)|phy_particle_group_flag_(?:solid|rigid)|phy_particle_data_flag_(?:typeflags|position|velocity|colour|color|category)|achievement_(?:our_info|friends_info|leaderboard_info|info|filter_(?:all_players|friends_only|favorites_only)|type_challenge|type_score_challenge|pic_loaded|show_(?:ui|profile|leaderboard|achievement|bank|friend_picker|purchase_prompt))|network_(?:socket_(?:tcp|udp|bluetooth)|type_(?:connect|disconnect|data|non_blocking_connect)|config_(?:connect_timeout|use_non_blocking_socket|enable_reliable_udp|disable_reliable_udp))|buffer_(?:fixed|grow|wrap|fast|vbuffer|network|u8|s8|u16|s16|u32|s32|u64|f16|f32|f64|bool|text|string|seek_start|seek_relative|seek_end|generalerror|outofspace|outofbounds|invalidtype)|gp_(?:face\\d|shoulderl|shoulderr|shoulderlb|shoulderrb|select|start|stickl|stickr|padu|padd|padl|padr|axislh|axislv|axisrh|axisrv)|ov_(?:friends|community|players|settings|gamegroup|achievements)|lb_sort_(?:none|ascending|descending)|lb_disp_(?:none|numeric|time_sec|time_ms)|ugc_(?:result_success|filetype_(?:community|microtrans)|visibility_(?:public|friends_only|private)|query_RankedBy(?:Vote|PublicationDate|Trend|NumTimesReported|TotalVotesAsc|VotesUp|TextSearch)|query_(?:AcceptedForGameRankedByAcceptanceDate|FavoritedByFriendsRankedByPublicationDate|CreatedByFriendsRankedByPublicationDate|NotYetRated)|sortorder_CreationOrder(?:Desc|Asc)|sortorder_(?:TitleAsc|LastUpdatedDesc|SubscriptionDateDesc|VoteScoreDesc|ForModeration)|list_(?:Published|VotedOn|VotedUp|VotedDown|WillVoteLater|Favorited|Subscribed|UsedOrPlayed|Followed)|match_(?:Items|Items_Mtx|Items_ReadyToUse|Collections|Artwork|Videos|Screenshots|AllGuides|WebGuides|IntegratedGuides|UsableInGame|ControllerBindings))|vertex_usage_(?:position|colour|color|normal|texcoord|textcoord|blendweight|blendindices|psize|tangent|binormal|fog|depth|sample)|vertex_type_(?:float\\d|colour|color|ubyte4)|layerelementtype_(?:undefined|background|instance|oldtilemap|sprite|tilemap|particlesystem|tile)|tile_(?:rotate|flip|mirror|index_mask)|input_type|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|(?:obj|scr|spr|rm)\\w+)\\b/,variable:/\\b(?:x|y|(?:x|y)(?:previous|start)|(?:h|v)speed|direction|speed|friction|gravity|gravity_direction|path_(?:index|position|positionprevious|speed|scale|orientation|endaction)|object_index|id|solid|persistent|mask_index|instance_(?:count|id)|alarm|timeline_(?:index|position|speed|running|loop)|visible|sprite_(?:index|width|height|xoffset|yoffset)|image_(?:number|index|speed|depth|xscale|yscale|angle|alpha|blend)|bbox_(?:left|right|top|bottom)|layer|phy_(?:rotation|(?:position|linear_velocity|speed|com|collision|col_normal)_(?:x|y)|angular_(?:velocity|damping)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|working_directory|webgl_enabled|view_(?:(?:y|x|w|h)view|(?:y|x|w|h)port|(?:v|h)(?:speed|border)|visible|surface_id|object|enabled|current|angle)|undefined|transition_(?:steps|kind|color)|temp_directory|show_(?:score|lives|health)|secure_mode|score|room_(?:width|speed|persistent|last|height|first|caption)|room|pointer_(?:null|invalid)|os_(?:version|type|device|browser)|mouse_(?:y|x|lastbutton|button)|lives|keyboard_(?:string|lastkey|lastchar|key)|iap_data|health|gamemaker_(?:version|registered|pro)|game_(?:save|project|display)_(?:id|name)|fps_real|fps|event_(?:type|object|number|action)|error_(?:occurred|last)|display_aa|delta_time|debug_mode|cursor_sprite|current_(?:year|weekday|time|second|month|minute|hour|day)|caption_(?:score|lives|health)|browser_(?:width|height)|background_(?:yscale|y|xscale|x|width|vtiled|vspeed|visible|showcolour|showcolor|index|htiled|hspeed|height|foreground|colour|color|blend|alpha)|async_load|application_surface|argument(?:_relitive|_count|\\d)|argument|global|local|self|other)\\b/});\nPrism.languages.gcode={comment:/;.*|\\B\\(.*?\\)\\B/,string:{pattern:/\"(?:\"\"|[^\"])*\"/,greedy:!0},keyword:/\\b[GM]\\d+(?:\\.\\d+)?\\b/,property:/\\b[A-Z]/,checksum:{pattern:/\\*\\d+/,alias:\"punctuation\"},punctuation:/:/};\nPrism.languages.gdscript={comment:/#.*/,string:{pattern:/@?(?:(\"|')(?:(?!\\1)[^\\n\\\\]|\\\\[\\s\\S])*\\1(?!\"|')|\"\"\"(?:[^\\\\]|\\\\[\\s\\S])*?\"\"\")/,greedy:!0},\"class-name\":{pattern:/(^(?:class_name|class|extends)[ \\t]+|^export\\([ \\t]*|\\bas[ \\t]+|(?:\\b(?:const|var)[ \\t]|[,(])[ \\t]*\\w+[ \\t]*:[ \\t]*|->[ \\t]*)[a-zA-Z_]\\w*/m,lookbehind:!0},keyword:/\\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\\b/,function:/[a-z_]\\w*(?=[ \\t]*\\()/i,variable:/\\$\\w+/,number:[/\\b0b[01_]+\\b|\\b0x[\\da-fA-F_]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.[\\d_]+)(?:e[+-]?[\\d_]+)?\\b/,/\\b(?:INF|NAN|PI|TAU)\\b/],constant:/\\b[A-Z][A-Z_\\d]*\\b/,boolean:/\\b(?:false|true)\\b/,operator:/->|:=|&&|\\|\\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,punctuation:/[.:,;()[\\]{}]/};\nPrism.languages.gedcom={\"line-value\":{pattern:/(^\\s*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?\\w+ ).+/m,lookbehind:!0,inside:{pointer:{pattern:/^@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@$/,alias:\"variable\"}}},tag:{pattern:/(^\\s*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?)\\w+/m,lookbehind:!0,alias:\"string\"},level:{pattern:/(^\\s*)\\d+/m,lookbehind:!0,alias:\"number\"},pointer:{pattern:/@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@/,alias:\"variable\"}};\n!function(a){var n=\"(?:\\r?\\n|\\r)[ \\t]*\\\\|.+\\\\|(?:(?!\\\\|).)*\";Prism.languages.gherkin={pystring:{pattern:/(\"\"\"|''')[\\s\\S]+?\\1/,alias:\"string\"},comment:{pattern:/(^[ \\t]*)#.*/m,lookbehind:!0},tag:{pattern:/(^[ \\t]*)@\\S*/m,lookbehind:!0},feature:{pattern:/((?:^|\\r?\\n|\\r)[ \\t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|laH|Lastnost|Mak|Mogucnost|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|perbogh|poQbogh malja'|Potrzeba biznesowa|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\\r\\n]+(?:\\r?\\n|\\r|$))*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\\r\\n]+/,lookbehind:!0},keyword:/[^:\\r\\n]+:/}},scenario:{pattern:/(^[ \\t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram senaryo|Dyagram Senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|Examples|EXAMPLZ|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|ghantoH|Grundlage|Hannergrond|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut|lut chovnatlh|lutmey|Lýsing Atburðarásar|Lýsing Dæma|Menggariskan Senario|MISHUN|MISHUN SRSLY|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan senaryo|Plan Senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo|Senaryo deskripsyon|Senaryo Deskripsyon|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie|Situasie Uiteensetting|Skenario|Skenario konsep|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa|Swa hwaer swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo\\-ho\\-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\\r\\n]*/m,lookbehind:!0,inside:{important:{pattern:/(:)[^\\r\\n]*/,lookbehind:!0},keyword:/[^:\\r\\n]+:/}},\"table-body\":{pattern:RegExp(\"(\"+n+\")(?:\"+n+\")+\"),lookbehind:!0,inside:{outline:{pattern:/<[^>]+?>/,alias:\"variable\"},td:{pattern:/\\s*[^\\s|][^|]*/,alias:\"string\"},punctuation:/\\|/}},\"table-head\":{pattern:RegExp(n),inside:{th:{pattern:/\\s*[^\\s|][^|]*/,alias:\"variable\"},punctuation:/\\|/}},atrule:{pattern:/(^[ \\t]+)(?:'ach|'a|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cando|Cand|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|Dato|DEN|Den youse gotta|Dengan|De|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|Entonces|En|Epi|E|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kadar|Kada|Kad|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Majd|Maka|Manawa|Mas|Ma|Menawa|Men|Mutta|Nalikaning|Nalika|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Og|Och|Oletetaan|Onda|Ond|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|qaSDI'|Quando|Quand|Quan|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|ugeholl|Und|Un|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadani|Zadano|Zadan|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \\t])/m,lookbehind:!0},string:{pattern:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'/,inside:{outline:{pattern:/<[^>]+?>/,alias:\"variable\"}}},outline:{pattern:/<[^>]+?>/,alias:\"variable\"}}}();\nPrism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\\+.*/m,string:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/m,command:{pattern:/^.*\\$ git .*$/m,inside:{parameter:/\\s--?\\w+/m}},coord:/^@@.*@@$/m,\"commit-sha1\":/^commit \\w{40}$/m};\nPrism.languages.glsl=Prism.languages.extend(\"c\",{keyword:/\\b(?:attribute|const|uniform|varying|buffer|shared|coherent|volatile|restrict|readonly|writeonly|atomic_uint|layout|centroid|flat|smooth|noperspective|patch|sample|break|continue|do|for|while|switch|case|default|if|else|subroutine|in|out|inout|float|double|int|void|bool|true|false|invariant|precise|discard|return|d?mat[234](?:x[234])?|[ibdu]?vec[234]|uint|lowp|mediump|highp|precision|[iu]?sampler[123]D|[iu]?samplerCube|sampler[12]DShadow|samplerCubeShadow|[iu]?sampler[12]DArray|sampler[12]DArrayShadow|[iu]?sampler2DRect|sampler2DRectShadow|[iu]?samplerBuffer|[iu]?sampler2DMS(?:Array)?|[iu]?samplerCubeArray|samplerCubeArrayShadow|[iu]?image[123]D|[iu]?image2DRect|[iu]?imageCube|[iu]?imageBuffer|[iu]?image[12]DArray|[iu]?imageCubeArray|[iu]?image2DMS(?:Array)?|struct|common|partition|active|asm|class|union|enum|typedef|template|this|resource|goto|inline|noinline|public|static|extern|external|interface|long|short|half|fixed|unsigned|superp|input|output|hvec[234]|fvec[234]|sampler3DRect|filter|sizeof|cast|namespace|using)\\b/});\nPrism.languages.go=Prism.languages.extend(\"clike\",{string:{pattern:/([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0},keyword:/\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,boolean:/\\b(?:_|iota|nil|true|false)\\b/,number:/(?:\\b0x[a-f\\d]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[-+]?\\d+)?)i?/i,operator:/[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,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/}),delete Prism.languages.go[\"class-name\"];\nPrism.languages.graphql={comment:/#.*/,description:{pattern:/(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i,greedy:!0,alias:\"string\",inside:{\"language-markdown\":{pattern:/(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/,lookbehind:!0,inside:Prism.languages.markdown}}},string:{pattern:/\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,greedy:!0},number:/(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,boolean:/\\b(?:true|false)\\b/,variable:/\\$[a-z_]\\w*/i,directive:{pattern:/@[a-z_]\\w*/i,alias:\"function\"},\"attr-name\":{pattern:/[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i,greedy:!0},\"class-name\":{pattern:/(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*)[a-zA-Z_]\\w*/,lookbehind:!0},fragment:{pattern:/(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,lookbehind:!0,alias:\"function\"},keyword:/\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/,operator:/[!=|&]|\\.{3}/,punctuation:/[!(){}\\[\\]:=,]/,constant:/\\b(?!ID\\b)[A-Z][A-Z_\\d]*\\b/};\nPrism.languages.groovy=Prism.languages.extend(\"clike\",{string:[{pattern:/(\"\"\"|''')(?:[^\\\\]|\\\\[\\s\\S])*?\\1|\\$\\/(?:[^/$]|\\$(?:[/$]|(?![/$]))|\\/(?!\\$))*\\/\\$/,greedy:!0},{pattern:/([\"'/])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0}],keyword:/\\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\\b/,number:/\\b(?:0b[01_]+|0x[\\da-f_]+(?:\\.[\\da-f_p\\-]+)?|[\\d_]+(?:\\.[\\d_]+)?(?:e[+-]?[\\d]+)?)[glidf]?\\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\\?[.:]?|\\*(?:[.=]|\\*=?)?|\\.[@&]|\\.\\.<|\\.\\.(?!\\.)|-[-=>]?|\\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\\|[|=]?|\\/=?|\\^=?|%=?)/,lookbehind:!0},punctuation:/\\.+|[{}[\\];(),:$]/}),Prism.languages.insertBefore(\"groovy\",\"string\",{shebang:{pattern:/#!.+/,alias:\"comment\"}}),Prism.languages.insertBefore(\"groovy\",\"punctuation\",{\"spock-block\":/\\b(?:setup|given|when|then|and|cleanup|expect|where):/}),Prism.languages.insertBefore(\"groovy\",\"function\",{annotation:{pattern:/(^|[^.])@\\w+/,lookbehind:!0,alias:\"punctuation\"}}),Prism.hooks.add(\"wrap\",function(e){if(\"groovy\"===e.language&&\"string\"===e.type){var t=e.content[0];if(\"'\"!=t){var n=/([^\\\\])(?:\\$(?:\\{.*?\\}|[\\w.]+))/;\"$\"===t&&(n=/([^\\$])(?:\\$(?:\\{.*?\\}|[\\w.]+))/),e.content=e.content.replace(/&lt;/g,\"<\").replace(/&amp;/g,\"&\"),e.content=Prism.highlight(e.content,{expression:{pattern:n,lookbehind:!0,inside:Prism.languages.groovy}}),e.classes.push(\"/\"===t?\"regex\":\"gstring\")}}});\n!function(e){e.languages.haml={\"multiline-comment\":{pattern:/((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/,lookbehind:!0,alias:\"comment\"},\"multiline-code\":[{pattern:/((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)/,lookbehind:!0,inside:e.languages.ruby},{pattern:/((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*\\|[\\t ]*)*/,lookbehind:!0,inside:e.languages.ruby}],filter:{pattern:/((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/,lookbehind:!0,inside:{\"filter-name\":{pattern:/^:[\\w-]+/,alias:\"variable\"}}},markup:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^{}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\\{(?:\\{[^}]+\\}|[^{}])+\\}/,lookbehind:!0,inside:e.languages.ruby},{pattern:/\\([^)]+\\)/,inside:{\"attr-value\":{pattern:/(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,lookbehind:!0},\"attr-name\":/[\\w:-]+(?=\\s*!?=|\\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\\[[^\\]]+\\]/,inside:e.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:e.languages.ruby},interpolation:{pattern:/#\\{[^}]+\\}/,inside:{delimiter:{pattern:/^#\\{|\\}$/,alias:\"punctuation\"},rest:e.languages.ruby}},punctuation:{pattern:/((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,lookbehind:!0}};for(var t=[\"css\",{filter:\"coffee\",language:\"coffeescript\"},\"erb\",\"javascript\",\"less\",\"markdown\",\"ruby\",\"scss\",\"textile\"],n={},r=0,a=t.length;r<a;r++){var i=t[r];i=\"string\"==typeof i?{filter:i,language:i}:i,e.languages[i.language]&&(n[\"filter-\"+i.filter]={pattern:RegExp(\"((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ].+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+\".replace(\"{{filter_name}}\",function(){return i.filter})),lookbehind:!0,inside:{\"filter-name\":{pattern:/^:[\\w-]+/,alias:\"variable\"},rest:e.languages[i.language]}})}e.languages.insertBefore(\"haml\",\"filter\",n)}(Prism);\n!function(e){e.languages.handlebars={comment:/\\{\\{![\\s\\S]*?\\}\\}/,delimiter:{pattern:/^\\{\\{\\{?|\\}\\}\\}?$/i,alias:\"punctuation\"},string:/([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,boolean:/\\b(?:true|false)\\b/,block:{pattern:/^(\\s*(?:~\\s*)?)[#\\/]\\S+?(?=\\s*(?:~\\s*)?$|\\s)/i,lookbehind:!0,alias:\"keyword\"},brackets:{pattern:/\\[[^\\]]+\\]/,inside:{punctuation:/\\[|\\]/,variable:/[\\s\\S]+/}},punctuation:/[!\"#%&':()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,variable:/[^!\"#%&'()*+,\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/},e.hooks.add(\"before-tokenize\",function(a){e.languages[\"markup-templating\"].buildPlaceholders(a,\"handlebars\",/\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g)}),e.hooks.add(\"after-tokenize\",function(a){e.languages[\"markup-templating\"].tokenizePlaceholders(a,\"handlebars\")})}(Prism);\nPrism.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|$)|{-[\\s\\S]*?-})/m,lookbehind:!0},char:{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]+))'/,alias:\"string\"},string:{pattern:/\"(?:[^\\\\\"]|\\\\(?:\\S|\\s+\\\\))*\"/,greedy:!0},keyword:/\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\"import-statement\":{pattern:/(^\\s*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,lookbehind:!0,inside:{keyword:/\\b(?:import|qualified|as|hiding)\\b/}},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/,number:/\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,operator:/\\s\\.\\s|[-!#$%*+=?&@|~:<>^\\\\\\/]*\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+|[-!#$%*+=?&@|~.:<>^\\\\\\/]+\\.[-!#$%*+=?&@|~:<>^\\\\\\/]*|[-!#$%*+=?&@|~:<>^\\\\\\/]+|`(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*`/,hvariable:/\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*\\b/,constant:/\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*\\b/,punctuation:/[{}[\\];(),.:]/},Prism.languages.hs=Prism.languages.haskell;\nPrism.languages.haxe=Prism.languages.extend(\"clike\",{string:{pattern:/([\"'])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,greedy:!0,inside:{interpolation:{pattern:/(^|[^\\\\])\\$(?:\\w+|\\{[^}]+\\})/,lookbehind:!0,inside:{interpolation:{pattern:/^\\$\\w*/,alias:\"variable\"}}}}},keyword:/\\bthis\\b|\\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|from|for|function|if|implements|import|in|inline|interface|macro|new|null|override|public|private|return|static|super|switch|throw|to|try|typedef|using|var|while)(?!\\.)\\b/,operator:/\\.{3}|\\+\\+?|-[->]?|[=!]=?|&&?|\\|\\|?|<[<=]?|>[>=]?|[*\\/%~^]/}),Prism.languages.insertBefore(\"haxe\",\"class-name\",{regex:{pattern:/~\\/(?:[^\\/\\\\\\r\\n]|\\\\.)+\\/[igmsu]*/,greedy:!0}}),Prism.languages.insertBefore(\"haxe\",\"keyword\",{preprocessor:{pattern:/#\\w+/,alias:\"builtin\"},metadata:{pattern:/@:?\\w+/,alias:\"symbol\"},reification:{pattern:/\\$(?:\\w+|(?=\\{))/,alias:\"variable\"}}),Prism.languages.haxe.string.inside.interpolation.inside.rest=Prism.languages.haxe,delete Prism.languages.haxe[\"class-name\"];\nPrism.languages.hcl={comment:/(?:\\/\\/|#).*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,heredoc:{pattern:/<<-?(\\w+\\b)[\\s\\S]*?^[ \\t]*\\1/m,greedy:!0,alias:\"string\"},keyword:[{pattern:/(?:resource|data)\\s+(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")(?=\\s+\"[\\w-]+\"\\s+{)/i,inside:{type:{pattern:/(resource|data|\\s+)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")/i,lookbehind:!0,alias:\"variable\"}}},{pattern:/(?:provider|provisioner|variable|output|module|backend)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+(?={)/i,inside:{type:{pattern:/(provider|provisioner|variable|output|module|backend)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+/i,lookbehind:!0,alias:\"variable\"}}},/[\\w-]+(?=\\s+{)/],property:[/[\\w-\\.]+(?=\\s*=(?!=))/,/\"(?:\\\\[\\s\\S]|[^\\\\\"])+\"(?=\\s*[:=])/],string:{pattern:/\"(?:[^\\\\$\"]|\\\\[\\s\\S]|\\$(?:(?=\")|\\$+(?!\\$)|[^\"${])|\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\})*\"/,greedy:!0,inside:{interpolation:{pattern:/(^|[^$])\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\}/,lookbehind:!0,inside:{type:{pattern:/(\\b(?:terraform|var|self|count|module|path|data|local)\\b\\.)[\\w\\*]+/i,lookbehind:!0,alias:\"variable\"},keyword:/\\b(?:terraform|var|self|count|module|path|data|local)\\b/i,function:/\\w+(?=\\()/,string:{pattern:/\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,greedy:!0},number:/\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,punctuation:/[!\\$#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~?:]/}}}},number:/\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,boolean:/\\b(?:true|false)\\b/i,punctuation:/[=\\[\\]{}]/};\nPrism.languages.hlsl=Prism.languages.extend(\"c\",{\"class-name\":[Prism.languages.c[\"class-name\"],/\\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RasterizerState|RenderTargetView|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\\b/],keyword:[/\\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\\b/,/\\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\\b/],number:/(?:(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?|\\b0x[\\da-fA-F]+)[fFhHlLuU]?\\b/,boolean:/\\b(?:false|true)\\b/});\n!function(t){t.languages.http={\"request-line\":{pattern:/^(?:GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE|PATCH|PRI|SEARCH)\\s(?:https?:\\/\\/|\\/)\\S*\\sHTTP\\/[0-9.]+/m,inside:{method:{pattern:/^[A-Z]+\\b/,alias:\"property\"},\"request-target\":{pattern:/^(\\s)(?:https?:\\/\\/|\\/)\\S*(?=\\s)/,lookbehind:!0,alias:\"url\",inside:t.languages.uri},\"http-version\":{pattern:/^(\\s)HTTP\\/[0-9.]+/,lookbehind:!0,alias:\"property\"}}},\"response-status\":{pattern:/^HTTP\\/[0-9.]+ \\d+ .+/m,inside:{\"http-version\":{pattern:/^HTTP\\/[0-9.]+/,alias:\"property\"},\"status-code\":{pattern:/^(\\s)\\d+(?=\\s)/,lookbehind:!0,alias:\"number\"},\"reason-phrase\":{pattern:/^(\\s).+/,lookbehind:!0,alias:\"string\"}}},\"header-name\":{pattern:/^[\\w-]+:(?=.)/m,alias:\"keyword\"}};var a,e,s,n=t.languages,r={\"application/javascript\":n.javascript,\"application/json\":n.json||n.javascript,\"application/xml\":n.xml,\"text/xml\":n.xml,\"text/html\":n.html,\"text/css\":n.css},i={\"application/json\":!0,\"application/xml\":!0};for(var p in r)if(r[p]){a=a||{};var o=i[p]?(void 0,s=(e=p).replace(/^[a-z]+\\//,\"\"),\"(?:\"+e+\"|\\\\w+/(?:[\\\\w.-]+\\\\+)+\"+s+\"(?![+\\\\w.-]))\"):p;a[p.replace(/\\//g,\"-\")]={pattern:RegExp(\"(content-type:\\\\s*\"+o+\"(?:(?:\\\\r\\\\n?|\\\\n).+)*)(?:\\\\r?\\\\n|\\\\r){2}[\\\\s\\\\S]*\",\"i\"),lookbehind:!0,inside:r[p]}}a&&t.languages.insertBefore(\"http\",\"header-name\",a)}(Prism);\nPrism.languages.hpkp={directive:{pattern:/\\b(?:(?:includeSubDomains|preload|strict)(?: |;)|pin-sha256=\"[a-zA-Z\\d+=/]+\"|(?:max-age|report-uri)=|report-to )/,alias:\"keyword\"},safe:{pattern:/\\b\\d{7,}\\b/,alias:\"selector\"},unsafe:{pattern:/\\b\\d{1,6}\\b/,alias:\"function\"}};\nPrism.languages.hsts={directive:{pattern:/\\b(?:max-age=|includeSubDomains|preload)/,alias:\"keyword\"},safe:{pattern:/\\b\\d{8,}\\b/,alias:\"selector\"},unsafe:{pattern:/\\b\\d{1,7}\\b/,alias:\"function\"}};\nPrism.languages.ichigojam={comment:/(?:\\B'|REM)(?:[^\\n\\r]*)/i,string:{pattern:/\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^_ +\\-.A-Z\\d])*\"/i,greedy:!0},number:/\\B#[0-9A-F]+|\\B`[01]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,keyword:/\\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GSB|GOTO|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|RIGHT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\\$|\\b)/i,function:/\\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\\$|\\b)/i,label:/(?:\\B@[^\\s]+)/i,operator:/<[=>]?|>=?|\\|\\||&&|[+\\-*\\/=|&^~!]|\\b(?:AND|NOT|OR)\\b/i,punctuation:/[\\[,;:()\\]]/};\nPrism.languages.icon={comment:/#.*/,string:{pattern:/([\"'])(?:(?!\\1)[^\\\\\\r\\n_]|\\\\.|_(?!\\1)(?:\\r\\n|[\\s\\S]))*\\1/,greedy:!0},number:/\\b(?:\\d+r[a-z\\d]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b|\\.\\d+\\b/i,\"builtin-keyword\":{pattern:/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\\b/,alias:\"variable\"},directive:{pattern:/\\$\\w+/,alias:\"builtin\"},keyword:/\\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\\b/,function:/(?!\\d)\\w+(?=\\s*[({]|\\s*!\\s*\\[)/,operator:/[+-]:(?!=)|(?:[\\/?@^%&]|\\+\\+?|--?|==?=?|~==?=?|\\*\\*?|\\|\\|\\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\\\|~]/,punctuation:/[\\[\\](){},;]/};\nPrism.languages.idris=Prism.languages.extend(\"haskell\",{comment:{pattern:/(?:(?:--|\\|\\|\\|).*$|{-[\\s\\S]*?-})/m},keyword:/\\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\\b/,\"import-statement\":{pattern:/(^\\s*)import\\s+(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*/m,lookbehind:!0},builtin:void 0}),Prism.languages.idr=Prism.languages.idris;\n!function(n){n.languages.ignore={comment:/^#.*/m,entry:{pattern:/\\S(?:.*(?:(?:\\\\ )|\\S))?/,alias:\"string\",inside:{operator:/^!|\\*\\*?|\\?/,regex:{pattern:/(^|[^\\\\])\\[[^\\[\\]]*\\]/,lookbehind:!0},punctuation:/\\//}}},n.languages.gitignore=n.languages.ignore,n.languages.hgignore=n.languages.ignore,n.languages.npmignore=n.languages.ignore}(Prism);\nPrism.languages.inform7={string:{pattern:/\"[^\"]*\"/,inside:{substitution:{pattern:/\\[[^\\]]+\\]/,inside:{delimiter:{pattern:/\\[|\\]/,alias:\"punctuation\"}}}}},comment:{pattern:/\\[[^\\]]+\\]/,greedy:!0},title:{pattern:/^[ \\t]*(?:volume|book|part(?! of)|chapter|section|table)\\b.+/im,alias:\"important\"},number:{pattern:/(^|[^-])(?:\\b\\d+(?:\\.\\d+)?(?:\\^\\d+)?(?:(?!\\d)\\w+)?|\\b(?:one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve))\\b(?!-)/i,lookbehind:!0},verb:{pattern:/(^|[^-])\\b(?:applying to|are|attacking|answering|asking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:s|ing)?|consulting|contain(?:s|ing)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:ve|s|ving)|hold(?:s|ing)?|impl(?:y|ies)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:s|ing)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:s|ing)?|setting|showing|singing|sleeping|smelling|squeezing|switching|support(?:s|ing)?|swearing|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:s|ing)?|var(?:y|ies|ying)|waiting|waking|waving|wear(?:s|ing)?)\\b(?!-)/i,lookbehind:!0,alias:\"operator\"},keyword:{pattern:/(^|[^-])\\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|unless|the story)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\\b(?!-)/i,lookbehind:!0},property:{pattern:/(^|[^-])\\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: on| off)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\\b(?!-)/i,lookbehind:!0,alias:\"symbol\"},position:{pattern:/(^|[^-])\\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\\b(?!-)/i,lookbehind:!0,alias:\"keyword\"},type:{pattern:/(^|[^-])\\b(?:actions?|activit(?:y|ies)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\\b(?!-)/i,lookbehind:!0,alias:\"variable\"},punctuation:/[.,:;(){}]/},Prism.languages.inform7.string.inside.substitution.inside.rest=Prism.languages.inform7,Prism.languages.inform7.string.inside.substitution.inside.rest.text={pattern:/\\S(?:\\s*\\S)*/,alias:\"comment\"};\nPrism.languages.ini={comment:{pattern:/(^[ \\f\\t\\v]*)[#;][^\\n\\r]*/m,lookbehind:!0},header:{pattern:/(^[ \\f\\t\\v]*)\\[[^\\n\\r\\]]*\\]?/m,lookbehind:!0,inside:{\"section-name\":{pattern:/(^\\[[ \\f\\t\\v]*)[^ \\f\\t\\v\\]]+(?:[ \\f\\t\\v]+[^ \\f\\t\\v\\]]+)*/,lookbehind:!0,alias:\"selector\"},punctuation:/\\[|\\]/}},key:{pattern:/(^[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v=]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v=]+)*(?=[ \\f\\t\\v]*=)/m,lookbehind:!0,alias:\"attr-name\"},value:{pattern:/(=[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v]+)*/,lookbehind:!0,alias:\"attr-value\",inside:{\"inner-value\":{pattern:/^(\"|').+(?=\\1$)/,lookbehind:!0}}},punctuation:/=/};\nPrism.languages.io={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0},{pattern:/(^|[^\\\\])\\/\\/.*/,lookbehind:!0},{pattern:/(^|[^\\\\])#.*/,lookbehind:!0}],\"triple-quoted-string\":{pattern:/\"\"\"(?:\\\\[\\s\\S]|(?!\"\"\")[^\\\\])*\"\"\"/,greedy:!0,alias:\"string\"},string:{pattern:/\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,greedy:!0},keyword:/\\b(?:activate|activeCoroCount|asString|block|break|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getSlot|getEnvironmentVariable|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|call|try|type|uniqueId|updateSlot|wait|while|write|yield)\\b/,builtin:/\\b(?:Array|AudioDevice|AudioMixer|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Regex|SGML|SGMLElement|SGMLParser|SQLite|Server|Sequence|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink|Random|BigNum)\\b/,boolean:/\\b(?:true|false|nil)\\b/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?/i,operator:/[=!*/%+\\-^&|]=|>>?=?|<<?=?|:?:?=|\\+\\+?|--?|\\*\\*?|\\/\\/?|%|\\|\\|?|&&?|\\b(?:return|and|or|not)\\b|@@?|\\?\\??|\\.\\./,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.j={comment:/\\bNB\\..*/,string:{pattern:/'(?:''|[^'\\r\\n])*'/,greedy:!0},keyword:/\\b(?:(?:adverb|conjunction|CR|def|define|dyad|LF|monad|noun|verb)\\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\\w+|goto_\\w+|if|label_\\w+|return|select|throw|try|while|whilst)\\.)/,verb:{pattern:/(?!\\^:|;\\.|[=!][.:])(?:\\{(?:\\.|::?)?|p(?:\\.\\.?|:)|[=!\\]]|[<>+*\\-%$|,#][.:]?|[?^]\\.?|[;\\[]:?|[~}\"i][.:]|[ACeEIjLor]\\.|(?:[_\\/\\\\qsux]|_?\\d):)/,alias:\"keyword\"},number:/\\b_?(?:(?!\\d:)\\d+(?:\\.\\d+)?(?:(?:[ejpx]|ad|ar)_?\\d+(?:\\.\\d+)?)*(?:b_?[\\da-z]+(?:\\.[\\da-z]+)?)?|_\\b(?!\\.))/,adverb:{pattern:/[~}]|[\\/\\\\]\\.?|[bfM]\\.|t[.:]/,alias:\"builtin\"},operator:/[=a][.:]|_\\./,conjunction:{pattern:/&(?:\\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\\.|`:?|[\\^LS]:|\"/,alias:\"variable\"},punctuation:/[()]/};\n!function(e){var t=/\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/,n=\"(^|[^\\\\w.])(?:[a-z]\\\\w*\\\\s*\\\\.\\\\s*)*(?:[A-Z]\\\\w*\\\\s*\\\\.\\\\s*)*\",a={pattern:RegExp(n+\"[A-Z](?:[\\\\d_A-Z]*[a-z]\\\\w*)?\\\\b\"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,inside:{punctuation:/\\./}},punctuation:/\\./}};e.languages.java=e.languages.extend(\"clike\",{\"class-name\":[a,{pattern:RegExp(n+\"[A-Z]\\\\w*(?=\\\\s+\\\\w+\\\\s*[;,=())])\"),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(\\:\\:\\s*)[a-z_]\\w*/,lookbehind:!0}],number:/\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore(\"java\",\"string\",{\"triple-quoted-string\":{pattern:/\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,greedy:!0,alias:\"string\"}}),e.languages.insertBefore(\"java\",\"class-name\",{annotation:{pattern:/(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,lookbehind:!0,alias:\"punctuation\"},generics:{pattern:/<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,inside:{\"class-name\":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp(\"(\\\\b(?:exports|import(?:\\\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\\\s+)(?!<keyword>)[a-z]\\\\w*(?:\\\\.[a-z]\\\\w*)*\\\\.?\".replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\\./}}})}(Prism);\n!function(a){var e=/\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/,t=[{pattern:/\\b(?:false|true)\\b/i,alias:\"boolean\"},{pattern:/(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,greedy:!0,lookbehind:!0},{pattern:/(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,greedy:!0,lookbehind:!0},/\\b(?:null)\\b/i,/\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/],i=/\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,n=/<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,s=/[{}\\[\\](),:;]/;a.languages.php={delimiter:{pattern:/\\?>$|^<\\?(?:php(?=\\s)|=)?/i,alias:\"important\"},comment:e,variable:/\\$+(?:\\w+\\b|(?={))/i,package:{pattern:/(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,lookbehind:!0,inside:{punctuation:/\\\\/}},\"class-name-definition\":{pattern:/(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,lookbehind:!0,alias:\"class-name\"},keyword:[{pattern:/(\\(\\s*)\\b(?:bool|boolean|int|integer|float|string|object|array)\\b(?=\\s*\\))/i,alias:\"type-casting\",greedy:!0,lookbehind:!0},{pattern:/([(,?]\\s*)\\b(?:bool|int|float|string|object|array(?!\\s*\\()|mixed|self|static|callable|iterable|(?:null|false)(?=\\s*\\|))\\b(?=\\s*\\$)/i,alias:\"type-hint\",greedy:!0,lookbehind:!0},{pattern:/([(,?]\\s*[a-z0-9_|]\\|\\s*)(?:null|false)\\b(?=\\s*\\$)/i,alias:\"type-hint\",greedy:!0,lookbehind:!0},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:bool|int|float|string|object|void|array(?!\\s*\\()|mixed|self|static|callable|iterable|(?:null|false)(?=\\s*\\|))\\b/i,alias:\"return-type\",greedy:!0,lookbehind:!0},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?[a-z0-9_|]\\|\\s*)(?:null|false)\\b/i,alias:\"return-type\",greedy:!0,lookbehind:!0},{pattern:/\\b(?:bool|int|float|string|object|void|array(?!\\s*\\()|mixed|iterable|(?:null|false)(?=\\s*\\|))\\b/i,alias:\"type-declaration\",greedy:!0},{pattern:/(\\|\\s*)(?:null|false)\\b/i,alias:\"type-declaration\",greedy:!0,lookbehind:!0},{pattern:/\\b(?:parent|self|static)(?=\\s*::)/i,alias:\"static-context\",greedy:!0},/\\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|enum|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\\b/i],\"argument-name\":{pattern:/([(,]\\s+)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,lookbehind:!0},\"class-name\":[{pattern:/(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,greedy:!0,lookbehind:!0},{pattern:/(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,greedy:!0,lookbehind:!0},{pattern:/\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,greedy:!0},{pattern:/(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,alias:\"class-name-fully-qualified\",greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,alias:\"class-name-fully-qualified\",greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,alias:\"class-name-fully-qualified\",greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/\\b[a-z_]\\w*(?=\\s*\\$)/i,alias:\"type-declaration\",greedy:!0},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,alias:[\"class-name-fully-qualified\",\"type-declaration\"],greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/\\b[a-z_]\\w*(?=\\s*::)/i,alias:\"static-context\",greedy:!0},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,alias:[\"class-name-fully-qualified\",\"static-context\"],greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,alias:\"type-hint\",greedy:!0,lookbehind:!0},{pattern:/([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,alias:[\"class-name-fully-qualified\",\"type-hint\"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,alias:\"return-type\",greedy:!0,lookbehind:!0},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,alias:[\"class-name-fully-qualified\",\"return-type\"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}}],constant:t,function:/\\w+\\s*(?=\\()/,property:{pattern:/(->)[\\w]+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/{\\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)*)/,lookbehind:!0,inside:a.languages.php},r=[{pattern:/<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,alias:\"nowdoc-string\",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\\w*;$/i,alias:\"symbol\",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,alias:\"heredoc-string\",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,alias:\"symbol\",inside:{punctuation:/^<<<\"?|[\";]$/}},interpolation:l}},{pattern:/`(?:\\\\[\\s\\S]|[^\\\\`])*`/,alias:\"backtick-quoted-string\",greedy:!0},{pattern:/'(?:\\\\[\\s\\S]|[^\\\\'])*'/,alias:\"single-quoted-string\",greedy:!0},{pattern:/\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,alias:\"double-quoted-string\",greedy:!0,inside:{interpolation:l}}];a.languages.insertBefore(\"php\",\"variable\",{string:r}),a.languages.insertBefore(\"php\",\"variable\",{attribute:{pattern:/#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,greedy:!0,inside:{\"attribute-content\":{pattern:/^(#\\[)[\\s\\S]+(?=]$)/,lookbehind:!0,inside:{comment:e,string:r,\"attribute-class-name\":[{pattern:/([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,alias:\"class-name\",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,alias:[\"class-name\",\"class-name-fully-qualified\"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\\[|]$/,alias:\"punctuation\"}}}}),a.hooks.add(\"before-tokenize\",function(e){if(/<\\?/.test(e.code)){a.languages[\"markup-templating\"].buildPlaceholders(e,\"php\",/<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/gi)}}),a.hooks.add(\"after-tokenize\",function(e){a.languages[\"markup-templating\"].tokenizePlaceholders(e,\"php\")})}(Prism);\n!function(p){var a=p.languages.javadoclike={parameter:{pattern:/(^\\s*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:param|arg|arguments)\\s+)\\w+/m,lookbehind:!0},keyword:{pattern:/(^\\s*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(a,\"addSupport\",{value:function(a,e){\"string\"==typeof a&&(a=[a]),a.forEach(function(a){!function(a,e){var n=\"doc-comment\",t=p.languages[a];if(t){var r=t[n];if(!r){var o={\"doc-comment\":{pattern:/(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,alias:\"comment\"}};r=(t=p.languages.insertBefore(a,\"comment\",o))[n]}if(r instanceof RegExp&&(r=t[n]={pattern:r}),Array.isArray(r))for(var i=0,s=r.length;i<s;i++)r[i]instanceof RegExp&&(r[i]={pattern:r[i]}),e(r[i]);else e(r)}}(a,function(a){a.inside||(a.inside={}),a.inside.rest=e})})}}),a.addSupport([\"java\",\"javascript\",\"php\"],a)}(Prism);\n!function(a){var e=/(^(?:\\s*(?:\\*\\s*)*))[^*\\s].*$/m,n=\"(?:[a-zA-Z]\\\\w+\\\\s*\\\\.\\\\s*)*[A-Z]\\\\w*(?:\\\\s*<mem>)?|<mem>\".replace(/<mem>/g,function(){return\"#\\\\s*\\\\w+(?:\\\\s*\\\\([^()]*\\\\))?\"});a.languages.javadoc=a.languages.extend(\"javadoclike\",{}),a.languages.insertBefore(\"javadoc\",\"keyword\",{reference:{pattern:RegExp(\"(@(?:exception|throws|see|link|linkplain|value)\\\\s+(?:\\\\*\\\\s*)?)(?:\"+n+\")\"),lookbehind:!0,inside:{function:{pattern:/(#\\s*)\\w+(?=\\s*\\()/,lookbehind:!0},field:{pattern:/(#\\s*)\\w+/,lookbehind:!0},namespace:{pattern:/\\b(?:[a-z]\\w*\\s*\\.\\s*)+/,inside:{punctuation:/\\./}},\"class-name\":/\\b[A-Z]\\w*/,keyword:a.languages.java.keyword,punctuation:/[#()[\\],.]/}},\"class-name\":{pattern:/(@param\\s+)<[A-Z]\\w*>/,lookbehind:!0,inside:{punctuation:/[.<>]/}},\"code-section\":[{pattern:/(\\{@code\\s+(?!\\s))(?:[^\\s{}]|\\s+(?![\\s}])|\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\})+(?=\\s*\\})/,lookbehind:!0,inside:{code:{pattern:e,lookbehind:!0,inside:a.languages.java,alias:\"language-java\"}}},{pattern:/(<(code|pre|tt)>(?!<code>)\\s*)\\S(?:\\S|\\s+\\S)*?(?=\\s*<\\/\\2>)/,lookbehind:!0,inside:{line:{pattern:e,lookbehind:!0,inside:{tag:a.languages.markup.tag,entity:a.languages.markup.entity,code:{pattern:/.+/,inside:a.languages.java,alias:\"language-java\"}}}}}],tag:a.languages.markup.tag,entity:a.languages.markup.entity}),a.languages.javadoclike.addSupport(\"java\",a.languages.javadoc)}(Prism);\nPrism.languages.javastacktrace={summary:{pattern:/^[\\t ]*(?:(?:Caused by:|Suppressed:|Exception in thread \"[^\"]*\")[\\t ]+)?[\\w$.]+(?:\\:.*)?$/m,inside:{keyword:{pattern:/^(\\s*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,lookbehind:!0},string:{pattern:/^(\\s*)\"[^\"]*\"/,lookbehind:!0},exceptions:{pattern:/^(:?\\s*)[\\w$.]+(?=:|$)/,lookbehind:!0,inside:{\"class-name\":/[\\w$]+(?=$|:)/,namespace:/[a-z]\\w*/,punctuation:/[.:]/}},message:{pattern:/(:\\s*)\\S.*/,lookbehind:!0,alias:\"string\"},punctuation:/[:]/}},\"stack-frame\":{pattern:/^[\\t ]*at (?:[\\w$./]|@[\\w$.+-]*\\/)+(?:<init>)?\\([^()]*\\)/m,inside:{keyword:{pattern:/^(\\s*)at(?= )/,lookbehind:!0},source:[{pattern:/(\\()\\w+\\.\\w+:\\d+(?=\\))/,lookbehind:!0,inside:{file:/^\\w+\\.\\w+/,punctuation:/:/,\"line-number\":{pattern:/\\d+/,alias:\"number\"}}},{pattern:/(\\()[^()]*(?=\\))/,lookbehind:!0,inside:{keyword:/^(?:Unknown Source|Native Method)$/}}],\"class-name\":/[\\w$]+(?=\\.(?:<init>|[\\w$]+)\\()/,function:/(?:<init>|[\\w$]+)(?=\\()/,\"class-loader\":{pattern:/(\\s)[a-z]\\w*(?:\\.[a-z]\\w*)*(?=\\/[\\w@$.]*\\/)/,lookbehind:!0,alias:\"namespace\",inside:{punctuation:/\\./}},module:{pattern:/([\\s/])[a-z]\\w*(?:\\.[a-z]\\w*)*(?:@[\\w$.+-]*)?(?=\\/)/,lookbehind:!0,inside:{version:{pattern:/(@)[\\s\\S]+/,lookbehind:!0,alias:\"number\"},punctuation:/[@.]/}},namespace:{pattern:/(?:[a-z]\\w*\\.)+/,inside:{punctuation:/\\./}},punctuation:/[()/.]/}},more:{pattern:/^[\\t ]*\\.{3} \\d+ [a-z]+(?: [a-z]+)*/m,inside:{punctuation:/\\.{3}/,number:/\\d+/,keyword:/\\b[a-z]+(?: [a-z]+)*\\b/}}};\nPrism.languages.jolie=Prism.languages.extend(\"clike\",{string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},keyword:/\\b(?:include|define|is_defined|undef|main|init|outputPort|inputPort|Location|Protocol|Interfaces|RequestResponse|OneWay|type|interface|extender|throws|cset|csets|forward|Aggregates|Redirects|embedded|courier|execution|sequential|concurrent|single|scope|install|throw|comp|cH|default|global|linkIn|linkOut|synchronized|this|new|for|if|else|while|in|Jolie|Java|Javascript|nullProcess|spawn|constants|with|provide|until|exit|foreach|instanceof|over|service)\\b/,number:/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?l?/i,operator:/-[-=>]?|\\+[+=]?|<[<=]?|[>=*!]=?|&&|\\|\\||[:?\\/%^]/,punctuation:/[,.]/,builtin:/\\b(?:undefined|string|int|void|long|Byte|bool|double|float|char|any)\\b/,symbol:/[|;@]/}),delete Prism.languages.jolie[\"class-name\"],Prism.languages.insertBefore(\"jolie\",\"keyword\",{function:{pattern:/((?:\\b(?:outputPort|inputPort|in|service|courier)\\b|@)\\s*)\\w+/,lookbehind:!0},aggregates:{pattern:/(\\bAggregates\\s*:\\s*)(?:\\w+(?:\\s+with\\s+\\w+)?\\s*,\\s*)*\\w+(?:\\s+with\\s+\\w+)?/,lookbehind:!0,inside:{\"with-extension\":{pattern:/\\bwith\\s+\\w+/,inside:{keyword:/\\bwith\\b/}},function:{pattern:/\\w+/},punctuation:{pattern:/,/}}},redirects:{pattern:/(\\bRedirects\\s*:\\s*)(?:\\w+\\s*=>\\s*\\w+\\s*,\\s*)*(?:\\w+\\s*=>\\s*\\w+)/,lookbehind:!0,inside:{punctuation:{pattern:/,/},function:{pattern:/\\w+/},symbol:{pattern:/=>/}}}});\n!function(e){var n=\"\\\\\\\\\\\\((?:[^()]|\\\\([^()]*\\\\))*\\\\)\",t=RegExp('\"(?:[^\"\\r\\n\\\\\\\\]|\\\\\\\\[^\\r\\n(]|__)*\"'.replace(/__/g,function(){return n})),i={interpolation:{pattern:RegExp(\"((?:^|[^\\\\\\\\])(?:\\\\\\\\{2})*)\"+n),lookbehind:!0,inside:{content:{pattern:/^(\\\\\\()[\\s\\S]+(?=\\)$)/,lookbehind:!0,inside:null},punctuation:/^\\\\\\(|\\)$/}}},a=e.languages.jq={comment:/#.*/,property:{pattern:RegExp(t.source+\"(?=\\\\s*:(?!:))\"),greedy:!0,inside:i},string:{pattern:t,greedy:!0,inside:i},function:{pattern:/(\\bdef\\s+)[a-z_]\\w+/i,lookbehind:!0},variable:/\\B\\$\\w+/,\"property-literal\":{pattern:/\\b[a-z_]\\w*(?=\\s*:(?!:))/i,alias:\"property\"},keyword:/\\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\\b/,boolean:/\\b(?:true|false)\\b/,number:/(?:\\b\\d+\\.|\\B\\.)?\\b\\d+(?:[eE][+-]?\\d+)?\\b/,operator:[{pattern:/\\|=?/,alias:\"pipe\"},/\\.\\.|[!=<>]?=|\\?\\/\\/|\\/\\/=?|[-+*/%]=?|[<>?]|\\b(?:and|or|not)\\b/],\"c-style-function\":{pattern:/\\b[a-z_]\\w*(?=\\s*\\()/i,alias:\"function\"},punctuation:/::|[()\\[\\]{},:;]|\\.(?=\\s*[\\[\\w$])/,dot:{pattern:/\\./,alias:\"important\"}};i.interpolation.inside.content.inside=a}(Prism);\n!function(e){e.languages.typescript=e.languages.extend(\"javascript\",{\"class-name\":{pattern:/(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},keyword:/\\b(?:abstract|as|asserts|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|undefined|var|void|while|with|yield)\\b/,builtin:/\\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\\b/}),delete e.languages.typescript.parameter;var n=e.languages.extend(\"typescript\",{});delete n[\"class-name\"],e.languages.typescript[\"class-name\"].inside=n,e.languages.insertBefore(\"typescript\",\"function\",{\"generic-function\":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,greedy:!0,inside:{function:/^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,generic:{pattern:/<[\\s\\S]+/,alias:\"class-name\",inside:n}}}}),e.languages.ts=e.languages.typescript}(Prism);\n!function(e){var a=e.languages.javascript,n=\"{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})+}\",s=\"(@(?:param|arg|argument|property)\\\\s+(?:\"+n+\"\\\\s+)?)\";e.languages.jsdoc=e.languages.extend(\"javadoclike\",{parameter:{pattern:RegExp(s+\"(?:(?!\\\\s)[$\\\\w\\\\xA0-\\\\uFFFF.])+(?=\\\\s|$)\"),lookbehind:!0,inside:{punctuation:/\\./}}}),e.languages.insertBefore(\"jsdoc\",\"keyword\",{\"optional-parameter\":{pattern:RegExp(s+\"\\\\[(?:(?!\\\\s)[$\\\\w\\\\xA0-\\\\uFFFF.])+(?:=[^[\\\\]]+)?\\\\](?=\\\\s|$)\"),lookbehind:!0,inside:{parameter:{pattern:/(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/,lookbehind:!0,inside:{punctuation:/\\./}},code:{pattern:/(=)[\\s\\S]*(?=\\]$)/,lookbehind:!0,inside:a,alias:\"language-javascript\"},punctuation:/[=[\\]]/}},\"class-name\":[{pattern:RegExp(\"(@(?:augments|extends|class|interface|memberof!?|template|this|typedef)\\\\s+(?:<TYPE>\\\\s+)?)[A-Z]\\\\w*(?:\\\\.[A-Z]\\\\w*)*\".replace(/<TYPE>/g,function(){return n})),lookbehind:!0,inside:{punctuation:/\\./}},{pattern:RegExp(\"(@[a-z]+\\\\s+)\"+n),lookbehind:!0,inside:{string:a.string,number:a.number,boolean:a.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\\.\\.\\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\\]]/}}],example:{pattern:/(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/,lookbehind:!0,inside:{code:{pattern:/^(\\s*(?:\\*\\s*)?)\\S.*$/m,lookbehind:!0,inside:a,alias:\"language-javascript\"}}}}),e.languages.javadoclike.addSupport(\"javascript\",e.languages.jsdoc)}(Prism);\n!function(a){function e(a,e){return RegExp(a.replace(/<ID>/g,function(){return\"(?!\\\\s)[_$a-zA-Z\\\\xA0-\\\\uFFFF](?:(?!\\\\s)[$\\\\w\\\\xA0-\\\\uFFFF])*\"}),e)}a.languages.insertBefore(\"javascript\",\"function-variable\",{\"method-variable\":{pattern:RegExp(\"(\\\\.\\\\s*)\"+a.languages.javascript[\"function-variable\"].pattern.source),lookbehind:!0,alias:[\"function-variable\",\"method\",\"function\",\"property-access\"]}}),a.languages.insertBefore(\"javascript\",\"function\",{method:{pattern:RegExp(\"(\\\\.\\\\s*)\"+a.languages.javascript.function.source),lookbehind:!0,alias:[\"function\",\"property-access\"]}}),a.languages.insertBefore(\"javascript\",\"constant\",{\"known-class-name\":[{pattern:/\\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\\b/,alias:\"class-name\"},{pattern:/\\b(?:[A-Z]\\w*)Error\\b/,alias:\"class-name\"}]}),a.languages.insertBefore(\"javascript\",\"keyword\",{imports:{pattern:e(\"(\\\\bimport\\\\b\\\\s*)(?:<ID>(?:\\\\s*,\\\\s*(?:\\\\*\\\\s*as\\\\s+<ID>|\\\\{[^{}]*\\\\}))?|\\\\*\\\\s*as\\\\s+<ID>|\\\\{[^{}]*\\\\})(?=\\\\s*\\\\bfrom\\\\b)\"),lookbehind:!0,inside:a.languages.javascript},exports:{pattern:e(\"(\\\\bexport\\\\b\\\\s*)(?:\\\\*(?:\\\\s*as\\\\s+<ID>)?(?=\\\\s*\\\\bfrom\\\\b)|\\\\{[^{}]*\\\\})\"),lookbehind:!0,inside:a.languages.javascript}}),a.languages.javascript.keyword.unshift({pattern:/\\b(?:as|default|export|from|import)\\b/,alias:\"module\"},{pattern:/\\b(?:await|break|catch|continue|do|else|for|finally|if|return|switch|throw|try|while|yield)\\b/,alias:\"control-flow\"},{pattern:/\\bnull\\b/,alias:[\"null\",\"nil\"]},{pattern:/\\bundefined\\b/,alias:\"nil\"}),a.languages.insertBefore(\"javascript\",\"operator\",{spread:{pattern:/\\.{3}/,alias:\"operator\"},arrow:{pattern:/=>/,alias:\"operator\"}}),a.languages.insertBefore(\"javascript\",\"punctuation\",{\"property-access\":{pattern:e(\"(\\\\.\\\\s*)#?<ID>\"),lookbehind:!0},\"maybe-class-name\":{pattern:/(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/,lookbehind:!0},dom:{pattern:/\\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\\b/,alias:\"variable\"},console:{pattern:/\\bconsole(?=\\s*\\.)/,alias:\"class-name\"}});for(var t=[\"function\",\"function-variable\",\"method\",\"method-variable\",\"property-access\"],r=0;r<t.length;r++){var n=t[r],s=a.languages.javascript[n];\"RegExp\"===a.util.type(s)&&(s=a.languages.javascript[n]={pattern:s});var o=s.inside||{};(s.inside=o)[\"maybe-class-name\"]=/^[A-Z][\\s\\S]*/}}(Prism);\nPrism.languages.json={property:{pattern:/(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,greedy:!0},number:/-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,punctuation:/[{}[\\],]/,operator:/:/,boolean:/\\b(?:true|false)\\b/,null:{pattern:/\\bnull\\b/,alias:\"keyword\"}},Prism.languages.webmanifest=Prism.languages.json;\n!function(n){var e=/(\"|')(?:\\\\(?:\\r\\n?|\\n|.)|(?!\\1)[^\\\\\\r\\n])*\\1/;n.languages.json5=n.languages.extend(\"json\",{property:[{pattern:RegExp(e.source+\"(?=\\\\s*:)\"),greedy:!0},{pattern:/(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/,alias:\"unquoted\"}],string:{pattern:e,greedy:!0},number:/[+-]?\\b(?:NaN|Infinity|0x[a-fA-F\\d]+)\\b|[+-]?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+\\b)?/})}(Prism);\nPrism.languages.jsonp=Prism.languages.extend(\"json\",{punctuation:/[{}[\\]();,.]/}),Prism.languages.insertBefore(\"jsonp\",\"punctuation\",{function:/(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*\\()/});\nPrism.languages.jsstacktrace={\"error-message\":{pattern:/^\\S.*/m,alias:\"string\"},\"stack-frame\":{pattern:/^[ \\t]+at[ \\t].*/m,inside:{\"not-my-code\":{pattern:/[ \\t]+at[ \\t]+(?!\\s)(?:node\\.js|\\<unknown\\>|.*(?:node_modules|\\(\\<anonymous\\>\\)|\\(\\<unknown\\>|\\<anonymous\\>$|\\(internal\\/|\\(node\\.js)).*/m,alias:\"comment\"},filename:{pattern:/(\\bat\\s+(?!\\s)|\\()(?:[a-zA-Z]:)?[^():]+(?=:)/,lookbehind:!0,alias:\"url\"},function:{pattern:/(at\\s+(?:new\\s+)?)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF<][.$\\w\\xA0-\\uFFFF<>]*/,lookbehind:!0,inside:{punctuation:/\\./}},punctuation:/[()]/,keyword:/\\b(?:at|new)\\b/,alias:{pattern:/\\[(?:as\\s+)?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\]/,alias:\"variable\"},\"line-number\":{pattern:/:[0-9]+(?::[0-9]+)?\\b/,alias:\"number\",inside:{punctuation:/:/}}}}};\n!function(u){var e=u.languages.javascript[\"template-string\"],n=e.pattern.source,a=e.inside.interpolation,i=a.inside[\"interpolation-punctuation\"],r=a.pattern.source;function t(e,t){if(u.languages[e])return{pattern:RegExp(\"((?:\"+t+\")\\\\s*)\"+n),lookbehind:!0,greedy:!0,inside:{\"template-punctuation\":{pattern:/^`|`$/,alias:\"string\"},\"embedded-code\":{pattern:/[\\s\\S]+/,alias:e}}}}function o(e,t,n){var r={code:e,grammar:t,language:n};return u.hooks.run(\"before-tokenize\",r),r.tokens=u.tokenize(r.code,r.grammar),u.hooks.run(\"after-tokenize\",r),r.tokens}function d(e){var t={};t[\"interpolation-punctuation\"]=i;var n=u.tokenize(e,t);if(3===n.length){var r=[1,1];r.push.apply(r,o(n[1],u.languages.javascript,\"javascript\")),n.splice.apply(n,r)}return new u.Token(\"interpolation\",n,a.alias,e)}function c(a,e,i){var t=u.tokenize(a,{interpolation:{pattern:RegExp(r),lookbehind:!0}}),f=0,y={},n=o(t.map(function(e){if(\"string\"==typeof e)return e;for(var t,n=e.content;-1!==a.indexOf((r=f++,t=\"___\"+i.toUpperCase()+\"_\"+r+\"___\")););return y[t]=n,t;var r}).join(\"\"),e,i),v=Object.keys(y);return f=0,function e(t){for(var n=0;n<t.length;n++){if(f>=v.length)return;var r=t[n];if(\"string\"==typeof r||\"string\"==typeof r.content){var a=v[f],i=\"string\"==typeof r?r:r.content,o=i.indexOf(a);if(-1!==o){++f;var s=i.substring(0,o),p=d(y[a]),l=i.substring(o+a.length),g=[];if(s&&g.push(s),g.push(p),l){var u=[l];e(u),g.push.apply(g,u)}\"string\"==typeof r?(t.splice.apply(t,[n,1].concat(g)),n+=g.length-1):r.content=g}}else{var c=r.content;Array.isArray(c)?e(c):e([c])}}}(n),new u.Token(i,n,\"language-\"+i,a)}u.languages.javascript[\"template-string\"]=[t(\"css\",\"\\\\b(?:styled(?:\\\\([^)]*\\\\))?(?:\\\\s*\\\\.\\\\s*\\\\w+(?:\\\\([^)]*\\\\))*)*|css(?:\\\\s*\\\\.\\\\s*(?:global|resolve))?|createGlobalStyle|keyframes)\"),t(\"html\",\"\\\\bhtml|\\\\.\\\\s*(?:inner|outer)HTML\\\\s*\\\\+?=\"),t(\"svg\",\"\\\\bsvg\"),t(\"markdown\",\"\\\\b(?:md|markdown)\"),t(\"graphql\",\"\\\\b(?:gql|graphql(?:\\\\s*\\\\.\\\\s*experimental)?)\"),e].filter(Boolean);var s={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return\"string\"==typeof e?e:Array.isArray(e)?e.map(f).join(\"\"):f(e.content)}u.hooks.add(\"after-tokenize\",function(e){e.language in s&&!function e(t){for(var n=0,r=t.length;n<r;n++){var a=t[n];if(\"string\"!=typeof a){var i=a.content;if(Array.isArray(i))if(\"template-string\"===a.type){var o=i[1];if(3===i.length&&\"string\"!=typeof o&&\"embedded-code\"===o.type){var s=f(o),p=o.alias,l=Array.isArray(p)?p[0]:p,g=u.languages[l];if(!g)continue;i[1]=c(s,g,l)}}else e(i);else\"string\"!=typeof i&&e([i])}}}(e.tokens)})}(Prism);\nPrism.languages.julia={comment:{pattern:/(^|[^\\\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/,lookbehind:!0},regex:{pattern:/r\"(?:\\\\.|[^\"\\\\\\r\\n])*\"[imsx]{0,4}/,greedy:!0},string:{pattern:/\"\"\"[\\s\\S]+?\"\"\"|\\w*\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(^|[^\\w'])'(?:\\\\[^\\r\\n][^'\\r\\n]*|[^\\\\\\r\\n])'|`(?:[^\\\\`\\r\\n]|\\\\.)*`/,lookbehind:!0,greedy:!0},keyword:/\\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\\b/,boolean:/\\b(?:true|false)\\b/,number:/(?:\\b(?=\\d)|\\B(?=\\.))(?:0[box])?(?:[\\da-f]+(?:_[\\da-f]+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[efp][+-]?\\d+(?:_\\d+)*)?j?/i,operator:/&&|\\|\\||[-+*^%÷⊻&$\\\\]=?|\\/[\\/=]?|!=?=?|\\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/,punctuation:/::?|[{}[\\]();,.?]/,constant:/\\b(?:(?:NaN|Inf)(?:16|32|64)?|im|pi)\\b|[πℯ]/};\nPrism.languages.keyman={comment:/\\bc\\s.*/i,function:/\\[\\s*(?:(?:CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\\s+)*(?:[TKU]_[\\w?]+|\".+?\"|'.+?')\\s*\\]/i,string:/(\"|').*?\\1/,bold:[/&(?:baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embedjs|kmw_helpfile|kmw_helptext|kmw_rtl|language|layer|layoutfile|message|mnemoniclayout|name|oldcharposmatching|platform|targets|version|visualkeyboard|windowslanguages)\\b/i,/\\b(?:bitmap|bitmaps|caps on only|caps always off|shift frees caps|copyright|hotkey|language|layout|message|name|version)\\b/i],keyword:/\\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|return|reset|save|set|store|use)\\b/i,atrule:/\\b(?:ansi|begin|unicode|group|using keys|match|nomatch)\\b/i,number:/\\b(?:U\\+[\\dA-F]+|d\\d+|x[\\da-f]+|\\d+)\\b/i,operator:/[+>\\\\,()]/,tag:/\\$(?:keyman|kmfl|weaver|keymanweb|keymanonly):/i};\n!function(e){e.languages.kotlin=e.languages.extend(\"clike\",{keyword:{pattern:/(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,lookbehind:!0},function:[{pattern:/(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\()/,greedy:!0},{pattern:/(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/,lookbehind:!0,greedy:!0}],number:/\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,operator:/\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/}),delete e.languages.kotlin[\"class-name\"],e.languages.insertBefore(\"kotlin\",\"string\",{\"raw-string\":{pattern:/(\"\"\"|''')[\\s\\S]*?\\1/,alias:\"string\"}}),e.languages.insertBefore(\"kotlin\",\"keyword\",{annotation:{pattern:/\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,alias:\"builtin\"}}),e.languages.insertBefore(\"kotlin\",\"function\",{label:{pattern:/\\w+@|@\\w+/,alias:\"symbol\"}});var n=[{pattern:/\\$\\{[^}]+\\}/,inside:{delimiter:{pattern:/^\\$\\{|\\}$/,alias:\"variable\"},rest:e.languages.kotlin}},{pattern:/\\$\\w+/,alias:\"variable\"}];e.languages.kotlin.string.inside=e.languages.kotlin[\"raw-string\"].inside={interpolation:n},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism);\n!function(n){function o(n,o){return RegExp(n.replace(/<nonId>/g,\"\\\\s\\\\x00-\\\\x1f\\\\x22-\\\\x2f\\\\x3a-\\\\x3f\\\\x5b-\\\\x5e\\\\x60\\\\x7b-\\\\x7e\"),o)}n.languages.kumir={comment:{pattern:/\\|.*/},prolog:{pattern:/#.*/,greedy:!0},string:{pattern:/\"[^\\n\\r\"]*\"|'[^\\n\\r']*'/,greedy:!0},boolean:{pattern:o(\"(^|[<nonId>])(?:да|нет)(?=[<nonId>]|$)\"),lookbehind:!0},\"operator-word\":{pattern:o(\"(^|[<nonId>])(?:и|или|не)(?=[<nonId>]|$)\"),lookbehind:!0,alias:\"keyword\"},\"system-variable\":{pattern:o(\"(^|[<nonId>])знач(?=[<nonId>]|$)\"),lookbehind:!0,alias:\"keyword\"},type:[{pattern:o(\"(^|[<nonId>])(?:вещ|лит|лог|сим|цел)(?:\\\\x20*таб)?(?=[<nonId>]|$)\"),lookbehind:!0,alias:\"builtin\"},{pattern:o(\"(^|[<nonId>])(?:компл|сканкод|файл|цвет)(?=[<nonId>]|$)\"),lookbehind:!0,alias:\"important\"}],keyword:{pattern:o(\"(^|[<nonId>])(?:алг|арг(?:\\\\x20*рез)?|ввод|ВКЛЮЧИТЬ|вс[её]|выбор|вывод|выход|дано|для|до|дс|если|иначе|исп|использовать|кон(?:(?:\\\\x20+|_)исп)?|кц(?:(?:\\\\x20+|_)при)?|надо|нач|нс|нц|от|пауза|пока|при|раза?|рез|стоп|таб|то|утв|шаг)(?=[<nonId>]|$)\"),lookbehind:!0},name:{pattern:o(\"(^|[<nonId>])[^\\\\d<nonId>][^<nonId>]*(?:\\\\x20+[^<nonId>]+)*(?=[<nonId>]|$)\"),lookbehind:!0},number:{pattern:o(\"(^|[<nonId>])(?:\\\\B\\\\$[\\\\da-f]+\\\\b|(?:\\\\b\\\\d+(?:\\\\.\\\\d*)?|\\\\B\\\\.\\\\d+)(?:e[+-]?\\\\d+)?)(?=[<nonId>]|$)\",\"i\"),lookbehind:!0},punctuation:/:=|[(),:;\\[\\]]/,\"operator-char\":{pattern:/\\*\\*?|<[=>]?|>=?|[-+/=]/,alias:\"operator\"}},n.languages.kum=n.languages.kumir}(Prism);\n!function(a){var e=/\\\\(?:[^a-z()[\\]]|[a-z*]+)/i,n={\"equation-command\":{pattern:e,alias:\"regex\"}};a.languages.latex={comment:/%.*/m,cdata:{pattern:/(\\\\begin\\{((?:verbatim|lstlisting)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,lookbehind:!0},equation:[{pattern:/\\$\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$\\$|\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,inside:n,alias:\"string\"},{pattern:/(\\\\begin\\{((?:equation|math|eqnarray|align|multline|gather)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,lookbehind:!0,inside:n,alias:\"string\"}],keyword:{pattern:/(\\\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,lookbehind:!0},url:{pattern:/(\\\\url\\{)[^}]+(?=\\})/,lookbehind:!0},headline:{pattern:/(\\\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\}(?:\\[[^\\]]+\\])?)/,lookbehind:!0,alias:\"class-name\"},function:{pattern:e,alias:\"selector\"},punctuation:/[[\\]{}&]/},a.languages.tex=a.languages.latex,a.languages.context=a.languages.latex}(Prism);\n!function(t){t.languages.latte={comment:/^\\{\\*[\\s\\S]*/,ld:{pattern:/^\\{(?:[=_]|\\/?(?!\\d|\\w+\\()\\w+|)/,inside:{punctuation:/^\\{\\/?/,tag:{pattern:/.+/,alias:\"important\"}}},rd:{pattern:/\\}$/,inside:{punctuation:/.+/}},php:{pattern:/\\S(?:[\\s\\S]*\\S)?/,alias:\"language-php\",inside:t.languages.php}};var e=t.languages.extend(\"markup\",{});t.languages.insertBefore(\"inside\",\"attr-value\",{\"n-attr\":{pattern:/n:[\\w-]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+))?/,inside:{\"attr-name\":{pattern:/^[^\\s=]+/,alias:\"important\"},\"attr-value\":{pattern:/=[\\s\\S]+/,inside:{punctuation:[/^=/,{pattern:/^(\\s*)[\"']|[\"']$/,lookbehind:!0}],php:{pattern:/\\S(?:[\\s\\S]*\\S)?/,inside:t.languages.php}}}}}},e.tag),t.hooks.add(\"before-tokenize\",function(a){if(\"latte\"===a.language){t.languages[\"markup-templating\"].buildPlaceholders(a,\"latte\",/\\{\\*[\\s\\S]*?\\*\\}|\\{[^'\"\\s{}*](?:[^\"'/{}]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*?\\}/g),a.grammar=e}}),t.hooks.add(\"after-tokenize\",function(a){t.languages[\"markup-templating\"].tokenizePlaceholders(a,\"latte\")})}(Prism);\nPrism.languages.less=Prism.languages.extend(\"css\",{comment:[/\\/\\*[\\s\\S]*?\\*\\//,{pattern:/(^|[^\\\\])\\/\\/.*/,lookbehind:!0}],atrule:{pattern:/@[\\w-](?:\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};@\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,inside:{variable:/@+[\\w-]+/}},property:/(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/i,operator:/[+\\-*\\/]/}),Prism.languages.insertBefore(\"less\",\"property\",{variable:[{pattern:/@[\\w-]+\\s*:/,inside:{punctuation:/:/}},/@@?[\\w-]+/],\"mixin-usage\":{pattern:/([{;]\\s*)[.#](?!\\d)[\\w-].*?(?=[(;])/,lookbehind:!0,alias:\"function\"}});\nPrism.languages.scheme={comment:/;.*|#;\\s*\\((?:[^()]|\\([^()]*\\))*\\)|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#)|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#))*\\|#)*\\|#/,string:{pattern:/\"(?:[^\"\\\\]|\\\\.)*\"/,greedy:!0},symbol:{pattern:/'[^()#'\\s]+/,greedy:!0},character:{pattern:/#\\\\(?:[ux][a-fA-F\\d]+\\b|[-a-zA-Z]+\\b|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|\\S)/,greedy:!0,alias:\"string\"},\"lambda-parameter\":[{pattern:/((?:^|[^'`#])\\(lambda\\s+)(?:[^|()'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)/,lookbehind:!0},{pattern:/((?:^|[^'`#])\\(lambda\\s+\\()[^()']+/,lookbehind:!0}],keyword:{pattern:/((?:^|[^'`#])\\()(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|export|except|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\\*)?|let\\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\\s]|$)/,lookbehind:!0},builtin:{pattern:/((?:^|[^'`#])\\()(?:abs|and|append|apply|assoc|ass[qv]|binary-port\\?|boolean=?\\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\\?|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)|close-(?:input-port|output-port|port)|complex\\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\\??|eq\\?|equal\\?|eqv\\?|error|error-object(?:-irritants|-message|\\?)|eval|even\\?|exact(?:-integer-sqrt|-integer\\?|\\?)?|expt|features|file-error\\?|floor(?:-quotient|-remainder|\\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\\??|input-port(?:-open\\?|\\?)|integer(?:->char|\\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\\?|newline|not|null\\?|number(?:->string|\\?)|numerator|odd\\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\\?|\\?)|pair\\?|peek-char|peek-u8|port\\?|positive\\?|procedure\\?|quotient|raise|raise-continuable|rational\\?|rationalize|read-(?:bytevector|bytevector!|char|error\\?|line|string|u8)|real\\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)?|substring|symbol(?:->string|\\?|=\\?)|syntax-error|textual-port\\?|truncate(?:-quotient|-remainder|\\/)?|u8-ready\\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\\?)(?=[()\\s]|$)/,lookbehind:!0},operator:{pattern:/((?:^|[^'`#])\\()(?:[-+*%/]|[<>]=?|=>?)(?=[()\\s]|$)/,lookbehind:!0},number:{pattern:RegExp(function(r){for(var e in r)r[e]=r[e].replace(/<[\\w\\s]+>/g,function(e){return\"(?:\"+r[e].trim()+\")\"});return r[e]}({\"<ureal dec>\":\"\\\\d+(?:/\\\\d+)?|(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)(?:e[+-]?\\\\d+)?\",\"<real dec>\":\"[+-]?<ureal dec>|[+-](?:inf|nan)\\\\.0\",\"<imaginary dec>\":\"[+-](?:<ureal dec>|(?:inf|nan)\\\\.0)?i\",\"<complex dec>\":\"<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>\",\"<num dec>\":\"(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>\",\"<ureal box>\":\"[0-9a-f]+(?:/[0-9a-f]+)?\",\"<real box>\":\"[+-]?<ureal box>|[+-](?:inf|nan)\\\\.0\",\"<imaginary box>\":\"[+-](?:<ureal box>|(?:inf|nan)\\\\.0)?i\",\"<complex box>\":\"<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>\",\"<num box>\":\"#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>\",\"<number>\":\"(^|[\\\\s()])(?:<num dec>|<num box>)(?=[()\\\\s]|$)\"}),\"i\"),lookbehind:!0},boolean:{pattern:/(^|[\\s()])#(?:[ft]|false|true)(?=[()\\s]|$)/,lookbehind:!0},function:{pattern:/((?:^|[^'`#])\\()(?:[^|()'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)(?=[()\\s]|$)/,lookbehind:!0},identifier:{pattern:/(^|[\\s()])\\|(?:[^\\\\|]|\\\\.)*\\|(?=[()\\s]|$)/,lookbehind:!0,greedy:!0},punctuation:/[()']/};\n!function(e){for(var n='\\\\((?:[^();\"#\\\\\\\\]|\\\\\\\\[^]|;.*(?!.)|\"(?:[^\"\\\\\\\\]|\\\\\\\\.)*\"|#(?:\\\\{(?:(?!#\\\\})[^])*#\\\\}|[^{])|<expr>)*\\\\)',i=0;i<5;i++)n=n.replace(/<expr>/g,function(){return n});n=n.replace(/<expr>/g,\"[^\\\\s\\\\S]\");var d=e.languages.lilypond={comment:/%(?:(?!\\{).*|\\{[\\s\\S]*?%\\})/,\"embedded-scheme\":{pattern:RegExp('(^|[=\\\\s])#(?:\"(?:[^\"\\\\\\\\]|\\\\\\\\.)*\"|[^\\\\s()\"]*(?:[^\\\\s()]|<expr>))'.replace(/<expr>/g,function(){return n}),\"m\"),lookbehind:!0,greedy:!0,inside:{scheme:{pattern:/^(#)[\\s\\S]+$/,lookbehind:!0,alias:\"language-scheme\",inside:{\"embedded-lilypond\":{pattern:/#\\{[\\s\\S]*?#\\}/,greedy:!0,inside:{punctuation:/^#\\{|#\\}$/,lilypond:{pattern:/[\\s\\S]+/,alias:\"language-lilypond\",inside:null}}},rest:e.languages.scheme}},punctuation:/#/}},string:{pattern:/\"(?:[^\"\\\\]|\\\\.)*\"/,greedy:!0},\"class-name\":{pattern:/(\\\\new\\s+)[\\w-]+/,lookbehind:!0},keyword:{pattern:/\\\\[a-z][-\\w]*/i,inside:{punctuation:/^\\\\/}},operator:/[=|]|<<|>>/,punctuation:{pattern:/(^|[a-z\\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\\d))|[_^]\\.?|[.!])|[{}()[\\]<>^~]|\\\\[()[\\]<>\\\\!]|--|__/,lookbehind:!0},number:/\\b\\d+(?:\\/\\d+)?\\b/};d[\"embedded-scheme\"].inside.scheme.inside[\"embedded-lilypond\"].inside.lilypond.inside=d,e.languages.ly=d}(Prism);\nPrism.languages.liquid={keyword:/\\b(?:comment|endcomment|if|elsif|else|endif|unless|endunless|for|endfor|case|endcase|when|in|break|assign|continue|limit|offset|range|reversed|raw|endraw|capture|endcapture|tablerow|endtablerow)\\b/,number:/\\b0b[01]+\\b|\\b0x(?:\\.[\\da-fp-]+|[\\da-f]+(?:\\.[\\da-fp-]+)?)\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?[df]?/i,operator:{pattern:/(^|[^.])(?:\\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\\|[|=]?|\\*=?|\\/=?|%=?|\\^=?|[?:~])/m,lookbehind:!0},function:{pattern:/(^|[\\s;|&])(?:append|prepend|capitalize|cycle|cols|increment|decrement|abs|at_least|at_most|ceil|compact|concat|date|default|divided_by|downcase|escape|escape_once|first|floor|join|last|lstrip|map|minus|modulo|newline_to_br|plus|remove|remove_first|replace|replace_first|reverse|round|rstrip|size|slice|sort|sort_natural|split|strip|strip_html|strip_newlines|times|truncate|truncatewords|uniq|upcase|url_decode|url_encode|include|paginate)(?=$|[\\s;|&])/,lookbehind:!0}};\n!function(e){function n(e){return RegExp(\"(\\\\()\"+e+\"(?=[\\\\s\\\\)])\")}function a(e){return RegExp(\"([\\\\s([])\"+e+\"(?=[\\\\s)])\")}var t=\"[-+*/_~!@$%^=<>{}\\\\w]+\",r=\"(\\\\()\",s=\"(?=\\\\))\",i=\"(?=\\\\s)\",o={heading:{pattern:/;;;.*/,alias:[\"comment\",\"title\"]},comment:/;.*/,string:{pattern:/\"(?:[^\"\\\\]|\\\\.)*\"/,greedy:!0,inside:{argument:/[-A-Z]+(?=[.,\\s])/,symbol:RegExp(\"`\"+t+\"'\")}},\"quoted-symbol\":{pattern:RegExp(\"#?'\"+t),alias:[\"variable\",\"symbol\"]},\"lisp-property\":{pattern:RegExp(\":\"+t),alias:\"property\"},splice:{pattern:RegExp(\",@?\"+t),alias:[\"symbol\",\"variable\"]},keyword:[{pattern:RegExp(r+\"(?:(?:lexical-)?let\\\\*?|(?:cl-)?letf|if|when|while|unless|cons|cl-loop|and|or|not|cond|setq|error|message|null|require|provide|use-package)\"+i),lookbehind:!0},{pattern:RegExp(r+\"(?:for|do|collect|return|finally|append|concat|in|by)\"+i),lookbehind:!0}],declare:{pattern:n(\"declare\"),lookbehind:!0,alias:\"keyword\"},interactive:{pattern:n(\"interactive\"),lookbehind:!0,alias:\"keyword\"},boolean:{pattern:a(\"(?:t|nil)\"),lookbehind:!0},number:{pattern:a(\"[-+]?\\\\d+(?:\\\\.\\\\d*)?\"),lookbehind:!0},defvar:{pattern:RegExp(r+\"def(?:var|const|custom|group)\\\\s+\"+t),lookbehind:!0,inside:{keyword:/^def[a-z]+/,variable:RegExp(t)}},defun:{pattern:RegExp(r+\"(?:cl-)?(?:defun\\\\*?|defmacro)\\\\s+\"+t+\"\\\\s+\\\\([\\\\s\\\\S]*?\\\\)\"),lookbehind:!0,inside:{keyword:/^(?:cl-)?def\\S+/,arguments:null,function:{pattern:RegExp(\"(^\\\\s)\"+t),lookbehind:!0},punctuation:/[()]/}},lambda:{pattern:RegExp(r+\"lambda\\\\s+\\\\(\\\\s*(?:&?\"+t+\"(?:\\\\s+&?\"+t+\")*\\\\s*)?\\\\)\"),lookbehind:!0,inside:{keyword:/^lambda/,arguments:null,punctuation:/[()]/}},car:{pattern:RegExp(r+t),lookbehind:!0},punctuation:[/(?:['`,]?\\(|[)\\[\\]])/,{pattern:/(\\s)\\.(?=\\s)/,lookbehind:!0}]},l={\"lisp-marker\":RegExp(\"&[-+*/_~!@$%^=<>{}\\\\w]+\"),rest:{argument:{pattern:RegExp(t),alias:\"variable\"},varform:{pattern:RegExp(r+t+\"\\\\s+\\\\S[\\\\s\\\\S]*\"+s),lookbehind:!0,inside:{string:o.string,boolean:o.boolean,number:o.number,symbol:o.symbol,punctuation:/[()]/}}}},p=\"\\\\S+(?:\\\\s+\\\\S+)*\",d={pattern:RegExp(r+\"[\\\\s\\\\S]*\"+s),lookbehind:!0,inside:{\"rest-vars\":{pattern:RegExp(\"&(?:rest|body)\\\\s+\"+p),inside:l},\"other-marker-vars\":{pattern:RegExp(\"&(?:optional|aux)\\\\s+\"+p),inside:l},keys:{pattern:RegExp(\"&key\\\\s+\"+p+\"(?:\\\\s+&allow-other-keys)?\"),inside:l},argument:{pattern:RegExp(t),alias:\"variable\"},punctuation:/[()]/}};o.lambda.inside.arguments=d,o.defun.inside.arguments=e.util.clone(d),o.defun.inside.arguments.inside.sublist=d,e.languages.lisp=o,e.languages.elisp=o,e.languages.emacs=o,e.languages[\"emacs-lisp\"]=o}(Prism);\nPrism.languages.livescript={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0},{pattern:/(^|[^\\\\])#.*/,lookbehind:!0}],\"interpolated-string\":{pattern:/(^|[^\"])(\"\"\"|\")(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2(?!\")/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(^|[^\\\\])#[a-z_](?:-?[a-z]|[\\d_])*/m,lookbehind:!0},interpolation:{pattern:/(^|[^\\\\])#\\{[^}]+\\}/m,lookbehind:!0,inside:{\"interpolation-punctuation\":{pattern:/^#\\{|\\}$/,alias:\"variable\"}}},string:/[\\s\\S]+/}},string:[{pattern:/('''|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0},{pattern:/<\\[[\\s\\S]*?\\]>/,greedy:!0},/\\\\[^\\s,;\\])}]+/],regex:[{pattern:/\\/\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|(?!\\/\\/)[^\\\\\\[])+\\/\\/[gimyu]{0,5}/,greedy:!0,inside:{comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0}}},{pattern:/\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/[gimyu]{0,5}/,greedy:!0}],keyword:{pattern:/(^|(?!-).)\\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\\b/m,lookbehind:!0},\"keyword-operator\":{pattern:/(^|[^-])\\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?:nt| not)?|not|of|or|til|to|typeof|with|xor)(?!-)\\b)/m,lookbehind:!0,alias:\"operator\"},boolean:{pattern:/(^|[^-])\\b(?:false|no|off|on|true|yes)(?!-)\\b/m,lookbehind:!0},argument:{pattern:/(^|(?!\\.&\\.)[^&])&(?!&)\\d*/m,lookbehind:!0,alias:\"variable\"},number:/\\b(?:\\d+~[\\da-z]+|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[a-z]\\w*)?)/i,identifier:/[a-z_](?:-?[a-z]|[\\d_])*/i,operator:[{pattern:/( )\\.(?= )/,lookbehind:!0},/\\.(?:[=~]|\\.\\.?)|\\.(?:[&|^]|<<|>>>?)\\.|:(?:=|:=?)|&&|\\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\\+\\+?|@@?|%%?|\\*\\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\\^\\^?|[\\/?]/],punctuation:/[(){}\\[\\]|.,:;`]/},Prism.languages.livescript[\"interpolated-string\"].inside.interpolation.inside.rest=Prism.languages.livescript;\nPrism.languages.llvm={comment:/;.*/,string:{pattern:/\"[^\"]*\"/,greedy:!0},boolean:/\\b(?:true|false)\\b/,variable:/[%@!#](?:(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+|\\d+)/i,label:/(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+:/i,type:{pattern:/\\b(?:double|float|fp128|half|i[1-9]\\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\\b/,alias:\"class-name\"},keyword:/\\b[a-z_][a-z_0-9]*\\b/,number:/[+-]?\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-Fa-f]+\\b|\\b0xK[\\dA-Fa-f]{20}\\b|\\b0x[ML][\\dA-Fa-f]{32}\\b|\\b0xH[\\dA-Fa-f]{4}\\b/,punctuation:/[{}[\\];(),.!*=<>]/};\nPrism.languages.lolcode={comment:[/\\bOBTW\\s[\\s\\S]*?\\sTLDR\\b/,/\\bBTW.+/],string:{pattern:/\"(?::.|[^\":])*\"/,inside:{variable:/:\\{[^}]+\\}/,symbol:[/:\\([a-f\\d]+\\)/i,/:\\[[^\\]]+\\]/,/:[)>o\":]/]},greedy:!0},number:/(?:\\B-)?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)/,symbol:{pattern:/(^|\\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\\s|,|$)/,lookbehind:!0,inside:{keyword:/A(?=\\s)/}},label:{pattern:/((?:^|\\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\\w*/,lookbehind:!0,alias:\"string\"},function:{pattern:/((?:^|\\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\\w*/,lookbehind:!0},keyword:[{pattern:/(^|\\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\\?|YA RLY|NO WAI|OIC|MEBBE|WTF\\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\\s|,|$)/,lookbehind:!0},/'Z(?=\\s|,|$)/],boolean:{pattern:/(^|\\s)(?:WIN|FAIL)(?=\\s|,|$)/,lookbehind:!0},variable:{pattern:/(^|\\s)IT(?=\\s|,|$)/,lookbehind:!0},operator:{pattern:/(^|\\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\\s|,|$)/,lookbehind:!0},punctuation:/\\.{3}|…|,|!/};\nPrism.languages.makefile={comment:{pattern:/(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,lookbehind:!0},string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},builtin:/\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,symbol:{pattern:/^(?:[^:=\\s]|[ \\t]+(?![\\s:]))+(?=\\s*:(?!=))/m,inside:{variable:/\\$+(?:(?!\\$)[^(){}:#=\\s]+|(?=[({]))/}},variable:/\\$+(?:(?!\\$)[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,keyword:[/-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/,{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])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/};\n!function(u){function n(n){return n=n.replace(/<inner>/g,function(){return\"(?:\\\\\\\\.|[^\\\\\\\\\\n\\r]|(?:\\n|\\r\\n?)(?!\\n|\\r\\n?))\"}),RegExp(\"((?:^|[^\\\\\\\\])(?:\\\\\\\\{2})*)(?:\"+n+\")\")}var e=\"(?:\\\\\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\\\\\|\\r\\n`])+\",t=\"\\\\|?__(?:\\\\|__)+\\\\|?(?:(?:\\n|\\r\\n?)|(?![^]))\".replace(/__/g,function(){return e}),a=\"\\\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\\\|?(?:\\n|\\r\\n?)\";u.languages.markdown=u.languages.extend(\"markup\",{}),u.languages.insertBefore(\"markdown\",\"prolog\",{\"front-matter-block\":{pattern:/(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,\"font-matter\":{pattern:/\\S+(?:\\s+\\S+)*/,alias:[\"yaml\",\"language-yaml\"],inside:u.languages.yaml}}},blockquote:{pattern:/^>(?:[\\t ]*>)*/m,alias:\"punctuation\"},table:{pattern:RegExp(\"^\"+t+a+\"(?:\"+t+\")*\",\"m\"),inside:{\"table-data-rows\":{pattern:RegExp(\"^(\"+t+a+\")(?:\"+t+\")*$\"),lookbehind:!0,inside:{\"table-data\":{pattern:RegExp(e),inside:u.languages.markdown},punctuation:/\\|/}},\"table-line\":{pattern:RegExp(\"^(\"+t+\")\"+a+\"$\"),lookbehind:!0,inside:{punctuation:/\\||:?-{3,}:?/}},\"table-header-row\":{pattern:RegExp(\"^\"+t+\"$\"),inside:{\"table-header\":{pattern:RegExp(e),alias:\"important\",inside:u.languages.markdown},punctuation:/\\|/}}}},code:[{pattern:/((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,lookbehind:!0,alias:\"keyword\"},{pattern:/``.+?``|`[^`\\r\\n]+`/,alias:\"keyword\"},{pattern:/^```[\\s\\S]*?^```$/m,greedy:!0,inside:{\"code-block\":{pattern:/^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,lookbehind:!0},\"code-language\":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,alias:\"important\",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\\s*)#.+/m,lookbehind:!0,alias:\"important\",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,lookbehind:!0,alias:\"punctuation\"},list:{pattern:/(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,lookbehind:!0,alias:\"punctuation\"},\"url-reference\":{pattern:/!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,inside:{variable:{pattern:/^(!?\\[)[^\\]]+/,lookbehind:!0},string:/(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,punctuation:/^[\\[\\]!:]|[<>]/},alias:\"url\"},bold:{pattern:n(\"\\\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\\\b|\\\\*\\\\*(?:(?!\\\\*)<inner>|\\\\*(?:(?!\\\\*)<inner>)+\\\\*)+\\\\*\\\\*\"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\\s\\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\\*\\*|__/}},italic:{pattern:n(\"\\\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\\\b|\\\\*(?:(?!\\\\*)<inner>|\\\\*\\\\*(?:(?!\\\\*)<inner>)+\\\\*\\\\*)+\\\\*\"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\\s\\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(\"(~~?)(?:(?!~)<inner>)+?\\\\2\"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\\s\\S]+(?=\\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},url:{pattern:n('!?\\\\[(?:(?!\\\\])<inner>)+\\\\](?:\\\\([^\\\\s)]+(?:[\\t ]+\"(?:\\\\\\\\.|[^\"\\\\\\\\])*\")?\\\\)|[ \\t]?\\\\[(?:(?!\\\\])<inner>)+\\\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\\[)[^\\]]+(?=\\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,lookbehind:!0},url:{pattern:/(^\\]\\()[^\\s)]+/,lookbehind:!0},string:{pattern:/(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,lookbehind:!0}}}}),[\"url\",\"bold\",\"italic\",\"strike\"].forEach(function(e){[\"url\",\"bold\",\"italic\",\"strike\"].forEach(function(n){e!==n&&(u.languages.markdown[e].inside.content.inside[n]=u.languages.markdown[n])})}),u.hooks.add(\"after-tokenize\",function(n){\"markdown\"!==n.language&&\"md\"!==n.language||!function n(e){if(e&&\"string\"!=typeof e)for(var t=0,a=e.length;t<a;t++){var i=e[t];if(\"code\"===i.type){var r=i.content[1],o=i.content[3];if(r&&o&&\"code-language\"===r.type&&\"code-block\"===o.type&&\"string\"==typeof r.content){var l=r.content.replace(/\\b#/g,\"sharp\").replace(/\\b\\+\\+/g,\"pp\"),s=\"language-\"+(l=(/[a-z][\\w-]*/i.exec(l)||[\"\"])[0].toLowerCase());o.alias?\"string\"==typeof o.alias?o.alias=[o.alias,s]:o.alias.push(s):o.alias=[s]}}else n(i.content)}}(n.tokens)}),u.hooks.add(\"wrap\",function(n){if(\"code-block\"===n.type){for(var e=\"\",t=0,a=n.classes.length;t<a;t++){var i=n.classes[t],r=/language-(.+)/.exec(i);if(r){e=r[1];break}}var o=u.languages[e];if(o){var l=document.createElement(\"div\");l.innerHTML=n.content;var s=l.textContent;n.content=u.highlight(s,o,e)}else if(e&&\"none\"!==e&&u.plugins.autoloader){var d=\"md-\"+(new Date).valueOf()+\"-\"+Math.floor(1e16*Math.random());n.attributes.id=d,u.plugins.autoloader.loadLanguages(e,function(){var n=document.getElementById(d);n&&(n.innerHTML=u.highlight(n.textContent,u.languages[e],e))})}}}),u.languages.md=u.languages.markdown}(Prism);\nPrism.languages.matlab={comment:[/%\\{[\\s\\S]*?\\}%/,/%.+/],string:{pattern:/\\B'(?:''|[^'\\r\\n])*'/,greedy:!0},number:/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?(?:[ij])?|\\b[ij]\\b/,keyword:/\\b(?:break|case|catch|continue|else|elseif|end|for|function|if|inf|NaN|otherwise|parfor|pause|pi|return|switch|try|while)\\b/,function:/(?!\\d)\\w+(?=\\s*\\()/,operator:/\\.?[*^\\/\\\\']|[+\\-:@]|[<>=~]=?|&&?|\\|\\|?/,punctuation:/\\.{3}|[.,;\\[\\](){}!]/};\nPrism.languages.mel={comment:/\\/\\/.*/,code:{pattern:/`(?:\\\\.|[^\\\\`\\r\\n])*`/,greedy:!0,alias:\"italic\",inside:{delimiter:{pattern:/^`|`$/,alias:\"punctuation\"}}},string:{pattern:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,greedy:!0},variable:/\\$\\w+/,number:/\\b0x[\\da-fA-F]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+/,flag:{pattern:/-[^\\d\\W]\\w*/,alias:\"operator\"},keyword:/\\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\\b/,function:/\\w+(?=\\()|\\b(?:about|abs|addAttr|addAttributeEditorNodeHelp|addDynamic|addNewShelfTab|addPP|addPanelCategory|addPrefixToName|advanceToNextDrivenKey|affectedNet|affects|aimConstraint|air|alias|aliasAttr|align|alignCtx|alignCurve|alignSurface|allViewFit|ambientLight|angle|angleBetween|animCone|animCurveEditor|animDisplay|animView|annotate|appendStringArray|applicationName|applyAttrPreset|applyTake|arcLenDimContext|arcLengthDimension|arclen|arrayMapper|art3dPaintCtx|artAttrCtx|artAttrPaintVertexCtx|artAttrSkinPaintCtx|artAttrTool|artBuildPaintMenu|artFluidAttrCtx|artPuttyCtx|artSelectCtx|artSetPaintCtx|artUserPaintCtx|assignCommand|assignInputDevice|assignViewportFactories|attachCurve|attachDeviceAttr|attachSurface|attrColorSliderGrp|attrCompatibility|attrControlGrp|attrEnumOptionMenu|attrEnumOptionMenuGrp|attrFieldGrp|attrFieldSliderGrp|attrNavigationControlGrp|attrPresetEditWin|attributeExists|attributeInfo|attributeMenu|attributeQuery|autoKeyframe|autoPlace|bakeClip|bakeFluidShading|bakePartialHistory|bakeResults|bakeSimulation|basename|basenameEx|batchRender|bessel|bevel|bevelPlus|binMembership|bindSkin|blend2|blendShape|blendShapeEditor|blendShapePanel|blendTwoAttr|blindDataType|boneLattice|boundary|boxDollyCtx|boxZoomCtx|bufferCurve|buildBookmarkMenu|buildKeyframeMenu|button|buttonManip|CBG|cacheFile|cacheFileCombine|cacheFileMerge|cacheFileTrack|camera|cameraView|canCreateManip|canvas|capitalizeString|catch|catchQuiet|ceil|changeSubdivComponentDisplayLevel|changeSubdivRegion|channelBox|character|characterMap|characterOutlineEditor|characterize|chdir|checkBox|checkBoxGrp|checkDefaultRenderGlobals|choice|circle|circularFillet|clamp|clear|clearCache|clip|clipEditor|clipEditorCurrentTimeCtx|clipSchedule|clipSchedulerOutliner|clipTrimBefore|closeCurve|closeSurface|cluster|cmdFileOutput|cmdScrollFieldExecuter|cmdScrollFieldReporter|cmdShell|coarsenSubdivSelectionList|collision|color|colorAtPoint|colorEditor|colorIndex|colorIndexSliderGrp|colorSliderButtonGrp|colorSliderGrp|columnLayout|commandEcho|commandLine|commandPort|compactHairSystem|componentEditor|compositingInterop|computePolysetVolume|condition|cone|confirmDialog|connectAttr|connectControl|connectDynamic|connectJoint|connectionInfo|constrain|constrainValue|constructionHistory|container|containsMultibyte|contextInfo|control|convertFromOldLayers|convertIffToPsd|convertLightmap|convertSolidTx|convertTessellation|convertUnit|copyArray|copyFlexor|copyKey|copySkinWeights|cos|cpButton|cpCache|cpClothSet|cpCollision|cpConstraint|cpConvClothToMesh|cpForces|cpGetSolverAttr|cpPanel|cpProperty|cpRigidCollisionFilter|cpSeam|cpSetEdit|cpSetSolverAttr|cpSolver|cpSolverTypes|cpTool|cpUpdateClothUVs|createDisplayLayer|createDrawCtx|createEditor|createLayeredPsdFile|createMotionField|createNewShelf|createNode|createRenderLayer|createSubdivRegion|cross|crossProduct|ctxAbort|ctxCompletion|ctxEditMode|ctxTraverse|currentCtx|currentTime|currentTimeCtx|currentUnit|curve|curveAddPtCtx|curveCVCtx|curveEPCtx|curveEditorCtx|curveIntersect|curveMoveEPCtx|curveOnSurface|curveSketchCtx|cutKey|cycleCheck|cylinder|dagPose|date|defaultLightListCheckBox|defaultNavigation|defineDataServer|defineVirtualDevice|deformer|deg_to_rad|delete|deleteAttr|deleteShadingGroupsAndMaterials|deleteShelfTab|deleteUI|deleteUnusedBrushes|delrandstr|detachCurve|detachDeviceAttr|detachSurface|deviceEditor|devicePanel|dgInfo|dgdirty|dgeval|dgtimer|dimWhen|directKeyCtx|directionalLight|dirmap|dirname|disable|disconnectAttr|disconnectJoint|diskCache|displacementToPoly|displayAffected|displayColor|displayCull|displayLevelOfDetail|displayPref|displayRGBColor|displaySmoothness|displayStats|displayString|displaySurface|distanceDimContext|distanceDimension|doBlur|dolly|dollyCtx|dopeSheetEditor|dot|dotProduct|doubleProfileBirailSurface|drag|dragAttrContext|draggerContext|dropoffLocator|duplicate|duplicateCurve|duplicateSurface|dynCache|dynControl|dynExport|dynExpression|dynGlobals|dynPaintEditor|dynParticleCtx|dynPref|dynRelEdPanel|dynRelEditor|dynamicLoad|editAttrLimits|editDisplayLayerGlobals|editDisplayLayerMembers|editRenderLayerAdjustment|editRenderLayerGlobals|editRenderLayerMembers|editor|editorTemplate|effector|emit|emitter|enableDevice|encodeString|endString|endsWith|env|equivalent|equivalentTol|erf|error|eval|evalDeferred|evalEcho|event|exactWorldBoundingBox|exclusiveLightCheckBox|exec|executeForEachObject|exists|exp|expression|expressionEditorListen|extendCurve|extendSurface|extrude|fcheck|fclose|feof|fflush|fgetline|fgetword|file|fileBrowserDialog|fileDialog|fileExtension|fileInfo|filetest|filletCurve|filter|filterCurve|filterExpand|filterStudioImport|findAllIntersections|findAnimCurves|findKeyframe|findMenuItem|findRelatedSkinCluster|finder|firstParentOf|fitBspline|flexor|floatEq|floatField|floatFieldGrp|floatScrollBar|floatSlider|floatSlider2|floatSliderButtonGrp|floatSliderGrp|floor|flow|fluidCacheInfo|fluidEmitter|fluidVoxelInfo|flushUndo|fmod|fontDialog|fopen|formLayout|format|fprint|frameLayout|fread|freeFormFillet|frewind|fromNativePath|fwrite|gamma|gauss|geometryConstraint|getApplicationVersionAsFloat|getAttr|getClassification|getDefaultBrush|getFileList|getFluidAttr|getInputDeviceRange|getMayaPanelTypes|getModifiers|getPanel|getParticleAttr|getPluginResource|getenv|getpid|glRender|glRenderEditor|globalStitch|gmatch|goal|gotoBindPose|grabColor|gradientControl|gradientControlNoAttr|graphDollyCtx|graphSelectContext|graphTrackCtx|gravity|grid|gridLayout|group|groupObjectsByName|HfAddAttractorToAS|HfAssignAS|HfBuildEqualMap|HfBuildFurFiles|HfBuildFurImages|HfCancelAFR|HfConnectASToHF|HfCreateAttractor|HfDeleteAS|HfEditAS|HfPerformCreateAS|HfRemoveAttractorFromAS|HfSelectAttached|HfSelectAttractors|HfUnAssignAS|hardenPointCurve|hardware|hardwareRenderPanel|headsUpDisplay|headsUpMessage|help|helpLine|hermite|hide|hilite|hitTest|hotBox|hotkey|hotkeyCheck|hsv_to_rgb|hudButton|hudSlider|hudSliderButton|hwReflectionMap|hwRender|hwRenderLoad|hyperGraph|hyperPanel|hyperShade|hypot|iconTextButton|iconTextCheckBox|iconTextRadioButton|iconTextRadioCollection|iconTextScrollList|iconTextStaticLabel|ikHandle|ikHandleCtx|ikHandleDisplayScale|ikSolver|ikSplineHandleCtx|ikSystem|ikSystemInfo|ikfkDisplayMethod|illustratorCurves|image|imfPlugins|inheritTransform|insertJoint|insertJointCtx|insertKeyCtx|insertKnotCurve|insertKnotSurface|instance|instanceable|instancer|intField|intFieldGrp|intScrollBar|intSlider|intSliderGrp|interToUI|internalVar|intersect|iprEngine|isAnimCurve|isConnected|isDirty|isParentOf|isSameObject|isTrue|isValidObjectName|isValidString|isValidUiName|isolateSelect|itemFilter|itemFilterAttr|itemFilterRender|itemFilterType|joint|jointCluster|jointCtx|jointDisplayScale|jointLattice|keyTangent|keyframe|keyframeOutliner|keyframeRegionCurrentTimeCtx|keyframeRegionDirectKeyCtx|keyframeRegionDollyCtx|keyframeRegionInsertKeyCtx|keyframeRegionMoveKeyCtx|keyframeRegionScaleKeyCtx|keyframeRegionSelectKeyCtx|keyframeRegionSetKeyCtx|keyframeRegionTrackCtx|keyframeStats|lassoContext|lattice|latticeDeformKeyCtx|launch|launchImageEditor|layerButton|layeredShaderPort|layeredTexturePort|layout|layoutDialog|lightList|lightListEditor|lightListPanel|lightlink|lineIntersection|linearPrecision|linstep|listAnimatable|listAttr|listCameras|listConnections|listDeviceAttachments|listHistory|listInputDeviceAxes|listInputDeviceButtons|listInputDevices|listMenuAnnotation|listNodeTypes|listPanelCategories|listRelatives|listSets|listTransforms|listUnselected|listerEditor|loadFluid|loadNewShelf|loadPlugin|loadPluginLanguageResources|loadPrefObjects|localizedPanelLabel|lockNode|loft|log|longNameOf|lookThru|ls|lsThroughFilter|lsType|lsUI|Mayatomr|mag|makeIdentity|makeLive|makePaintable|makeRoll|makeSingleSurface|makeTubeOn|makebot|manipMoveContext|manipMoveLimitsCtx|manipOptions|manipRotateContext|manipRotateLimitsCtx|manipScaleContext|manipScaleLimitsCtx|marker|match|max|memory|menu|menuBarLayout|menuEditor|menuItem|menuItemToShelf|menuSet|menuSetPref|messageLine|min|minimizeApp|mirrorJoint|modelCurrentTimeCtx|modelEditor|modelPanel|mouse|movIn|movOut|move|moveIKtoFK|moveKeyCtx|moveVertexAlongDirection|multiProfileBirailSurface|mute|nParticle|nameCommand|nameField|namespace|namespaceInfo|newPanelItems|newton|nodeCast|nodeIconButton|nodeOutliner|nodePreset|nodeType|noise|nonLinear|normalConstraint|normalize|nurbsBoolean|nurbsCopyUVSet|nurbsCube|nurbsEditUV|nurbsPlane|nurbsSelect|nurbsSquare|nurbsToPoly|nurbsToPolygonsPref|nurbsToSubdiv|nurbsToSubdivPref|nurbsUVSet|nurbsViewDirectionVector|objExists|objectCenter|objectLayer|objectType|objectTypeUI|obsoleteProc|oceanNurbsPreviewPlane|offsetCurve|offsetCurveOnSurface|offsetSurface|openGLExtension|openMayaPref|optionMenu|optionMenuGrp|optionVar|orbit|orbitCtx|orientConstraint|outlinerEditor|outlinerPanel|overrideModifier|paintEffectsDisplay|pairBlend|palettePort|paneLayout|panel|panelConfiguration|panelHistory|paramDimContext|paramDimension|paramLocator|parent|parentConstraint|particle|particleExists|particleInstancer|particleRenderInfo|partition|pasteKey|pathAnimation|pause|pclose|percent|performanceOptions|pfxstrokes|pickWalk|picture|pixelMove|planarSrf|plane|play|playbackOptions|playblast|plugAttr|plugNode|pluginInfo|pluginResourceUtil|pointConstraint|pointCurveConstraint|pointLight|pointMatrixMult|pointOnCurve|pointOnSurface|pointPosition|poleVectorConstraint|polyAppend|polyAppendFacetCtx|polyAppendVertex|polyAutoProjection|polyAverageNormal|polyAverageVertex|polyBevel|polyBlendColor|polyBlindData|polyBoolOp|polyBridgeEdge|polyCacheMonitor|polyCheck|polyChipOff|polyClipboard|polyCloseBorder|polyCollapseEdge|polyCollapseFacet|polyColorBlindData|polyColorDel|polyColorPerVertex|polyColorSet|polyCompare|polyCone|polyCopyUV|polyCrease|polyCreaseCtx|polyCreateFacet|polyCreateFacetCtx|polyCube|polyCut|polyCutCtx|polyCylinder|polyCylindricalProjection|polyDelEdge|polyDelFacet|polyDelVertex|polyDuplicateAndConnect|polyDuplicateEdge|polyEditUV|polyEditUVShell|polyEvaluate|polyExtrudeEdge|polyExtrudeFacet|polyExtrudeVertex|polyFlipEdge|polyFlipUV|polyForceUV|polyGeoSampler|polyHelix|polyInfo|polyInstallAction|polyLayoutUV|polyListComponentConversion|polyMapCut|polyMapDel|polyMapSew|polyMapSewMove|polyMergeEdge|polyMergeEdgeCtx|polyMergeFacet|polyMergeFacetCtx|polyMergeUV|polyMergeVertex|polyMirrorFace|polyMoveEdge|polyMoveFacet|polyMoveFacetUV|polyMoveUV|polyMoveVertex|polyNormal|polyNormalPerVertex|polyNormalizeUV|polyOptUvs|polyOptions|polyOutput|polyPipe|polyPlanarProjection|polyPlane|polyPlatonicSolid|polyPoke|polyPrimitive|polyPrism|polyProjection|polyPyramid|polyQuad|polyQueryBlindData|polyReduce|polySelect|polySelectConstraint|polySelectConstraintMonitor|polySelectCtx|polySelectEditCtx|polySeparate|polySetToFaceNormal|polySewEdge|polyShortestPathCtx|polySmooth|polySoftEdge|polySphere|polySphericalProjection|polySplit|polySplitCtx|polySplitEdge|polySplitRing|polySplitVertex|polyStraightenUVBorder|polySubdivideEdge|polySubdivideFacet|polyToSubdiv|polyTorus|polyTransfer|polyTriangulate|polyUVSet|polyUnite|polyWedgeFace|popen|popupMenu|pose|pow|preloadRefEd|print|progressBar|progressWindow|projFileViewer|projectCurve|projectTangent|projectionContext|projectionManip|promptDialog|propModCtx|propMove|psdChannelOutliner|psdEditTextureFile|psdExport|psdTextureFile|putenv|pwd|python|querySubdiv|quit|rad_to_deg|radial|radioButton|radioButtonGrp|radioCollection|radioMenuItemCollection|rampColorPort|rand|randomizeFollicles|randstate|rangeControl|readTake|rebuildCurve|rebuildSurface|recordAttr|recordDevice|redo|reference|referenceEdit|referenceQuery|refineSubdivSelectionList|refresh|refreshAE|registerPluginResource|rehash|reloadImage|removeJoint|removeMultiInstance|removePanelCategory|rename|renameAttr|renameSelectionList|renameUI|render|renderGlobalsNode|renderInfo|renderLayerButton|renderLayerParent|renderLayerPostProcess|renderLayerUnparent|renderManip|renderPartition|renderQualityNode|renderSettings|renderThumbnailUpdate|renderWindowEditor|renderWindowSelectContext|renderer|reorder|reorderDeformers|requires|reroot|resampleFluid|resetAE|resetPfxToPolyCamera|resetTool|resolutionNode|retarget|reverseCurve|reverseSurface|revolve|rgb_to_hsv|rigidBody|rigidSolver|roll|rollCtx|rootOf|rot|rotate|rotationInterpolation|roundConstantRadius|rowColumnLayout|rowLayout|runTimeCommand|runup|sampleImage|saveAllShelves|saveAttrPreset|saveFluid|saveImage|saveInitialState|saveMenu|savePrefObjects|savePrefs|saveShelf|saveToolSettings|scale|scaleBrushBrightness|scaleComponents|scaleConstraint|scaleKey|scaleKeyCtx|sceneEditor|sceneUIReplacement|scmh|scriptCtx|scriptEditorInfo|scriptJob|scriptNode|scriptTable|scriptToShelf|scriptedPanel|scriptedPanelType|scrollField|scrollLayout|sculpt|searchPathArray|seed|selLoadSettings|select|selectContext|selectCurveCV|selectKey|selectKeyCtx|selectKeyframeRegionCtx|selectMode|selectPref|selectPriority|selectType|selectedNodes|selectionConnection|separator|setAttr|setAttrEnumResource|setAttrMapping|setAttrNiceNameResource|setConstraintRestPosition|setDefaultShadingGroup|setDrivenKeyframe|setDynamic|setEditCtx|setEditor|setFluidAttr|setFocus|setInfinity|setInputDeviceMapping|setKeyCtx|setKeyPath|setKeyframe|setKeyframeBlendshapeTargetWts|setMenuMode|setNodeNiceNameResource|setNodeTypeFlag|setParent|setParticleAttr|setPfxToPolyCamera|setPluginResource|setProject|setStampDensity|setStartupMessage|setState|setToolTo|setUITemplate|setXformManip|sets|shadingConnection|shadingGeometryRelCtx|shadingLightRelCtx|shadingNetworkCompare|shadingNode|shapeCompare|shelfButton|shelfLayout|shelfTabLayout|shellField|shortNameOf|showHelp|showHidden|showManipCtx|showSelectionInTitle|showShadingGroupAttrEditor|showWindow|sign|simplify|sin|singleProfileBirailSurface|size|sizeBytes|skinCluster|skinPercent|smoothCurve|smoothTangentSurface|smoothstep|snap2to2|snapKey|snapMode|snapTogetherCtx|snapshot|soft|softMod|softModCtx|sort|sound|soundControl|source|spaceLocator|sphere|sphrand|spotLight|spotLightPreviewPort|spreadSheetEditor|spring|sqrt|squareSurface|srtContext|stackTrace|startString|startsWith|stitchAndExplodeShell|stitchSurface|stitchSurfacePoints|strcmp|stringArrayCatenate|stringArrayContains|stringArrayCount|stringArrayInsertAtIndex|stringArrayIntersector|stringArrayRemove|stringArrayRemoveAtIndex|stringArrayRemoveDuplicates|stringArrayRemoveExact|stringArrayToString|stringToStringArray|strip|stripPrefixFromName|stroke|subdAutoProjection|subdCleanTopology|subdCollapse|subdDuplicateAndConnect|subdEditUV|subdListComponentConversion|subdMapCut|subdMapSewMove|subdMatchTopology|subdMirror|subdToBlind|subdToPoly|subdTransferUVsToCache|subdiv|subdivCrease|subdivDisplaySmoothness|substitute|substituteAllString|substituteGeometry|substring|surface|surfaceSampler|surfaceShaderList|swatchDisplayPort|switchTable|symbolButton|symbolCheckBox|sysFile|system|tabLayout|tan|tangentConstraint|texLatticeDeformContext|texManipContext|texMoveContext|texMoveUVShellContext|texRotateContext|texScaleContext|texSelectContext|texSelectShortestPathCtx|texSmudgeUVContext|texWinToolCtx|text|textCurves|textField|textFieldButtonGrp|textFieldGrp|textManip|textScrollList|textToShelf|textureDisplacePlane|textureHairColor|texturePlacementContext|textureWindow|threadCount|threePointArcCtx|timeControl|timePort|timerX|toNativePath|toggle|toggleAxis|toggleWindowVisibility|tokenize|tokenizeList|tolerance|tolower|toolButton|toolCollection|toolDropped|toolHasOptions|toolPropertyWindow|torus|toupper|trace|track|trackCtx|transferAttributes|transformCompare|transformLimits|translator|trim|trunc|truncateFluidCache|truncateHairCache|tumble|tumbleCtx|turbulence|twoPointArcCtx|uiRes|uiTemplate|unassignInputDevice|undo|undoInfo|ungroup|uniform|unit|unloadPlugin|untangleUV|untitledFileName|untrim|upAxis|updateAE|userCtx|uvLink|uvSnapshot|validateShelfName|vectorize|view2dToolCtx|viewCamera|viewClipPlane|viewFit|viewHeadOn|viewLookAt|viewManip|viewPlace|viewSet|visor|volumeAxis|vortex|waitCursor|warning|webBrowser|webBrowserPrefs|whatIs|window|windowPref|wire|wireContext|workspace|wrinkle|wrinkleContext|writeTake|xbmLangPathList|xform)\\b/,operator:[/\\+[+=]?|-[-=]?|&&|\\|\\||[<>]=|[*\\/!=]=?|[%^]/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,:;?\\[\\](){}]/},Prism.languages.mel.code.inside.rest=Prism.languages.mel;\nPrism.languages.mizar={comment:/::.+/,keyword:/@proof\\b|\\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|equals|end|environ|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:y|ies)|when|where|with|wrt)\\b/,parameter:{pattern:/\\$(?:10|\\d)/,alias:\"variable\"},variable:/\\w+(?=:)/,number:/(?:\\b|-)\\d+\\b/,operator:/\\.\\.\\.|->|&|\\.?=/,punctuation:/\\(#|#\\)|[,:;\\[\\](){}]/};\n!function($){var e=[\"$eq\",\"$gt\",\"$gte\",\"$in\",\"$lt\",\"$lte\",\"$ne\",\"$nin\",\"$and\",\"$not\",\"$nor\",\"$or\",\"$exists\",\"$type\",\"$expr\",\"$jsonSchema\",\"$mod\",\"$regex\",\"$text\",\"$where\",\"$geoIntersects\",\"$geoWithin\",\"$near\",\"$nearSphere\",\"$all\",\"$elemMatch\",\"$size\",\"$bitsAllClear\",\"$bitsAllSet\",\"$bitsAnyClear\",\"$bitsAnySet\",\"$comment\",\"$elemMatch\",\"$meta\",\"$slice\",\"$currentDate\",\"$inc\",\"$min\",\"$max\",\"$mul\",\"$rename\",\"$set\",\"$setOnInsert\",\"$unset\",\"$addToSet\",\"$pop\",\"$pull\",\"$push\",\"$pullAll\",\"$each\",\"$position\",\"$slice\",\"$sort\",\"$bit\",\"$addFields\",\"$bucket\",\"$bucketAuto\",\"$collStats\",\"$count\",\"$currentOp\",\"$facet\",\"$geoNear\",\"$graphLookup\",\"$group\",\"$indexStats\",\"$limit\",\"$listLocalSessions\",\"$listSessions\",\"$lookup\",\"$match\",\"$merge\",\"$out\",\"$planCacheStats\",\"$project\",\"$redact\",\"$replaceRoot\",\"$replaceWith\",\"$sample\",\"$set\",\"$skip\",\"$sort\",\"$sortByCount\",\"$unionWith\",\"$unset\",\"$unwind\",\"$abs\",\"$accumulator\",\"$acos\",\"$acosh\",\"$add\",\"$addToSet\",\"$allElementsTrue\",\"$and\",\"$anyElementTrue\",\"$arrayElemAt\",\"$arrayToObject\",\"$asin\",\"$asinh\",\"$atan\",\"$atan2\",\"$atanh\",\"$avg\",\"$binarySize\",\"$bsonSize\",\"$ceil\",\"$cmp\",\"$concat\",\"$concatArrays\",\"$cond\",\"$convert\",\"$cos\",\"$dateFromParts\",\"$dateToParts\",\"$dateFromString\",\"$dateToString\",\"$dayOfMonth\",\"$dayOfWeek\",\"$dayOfYear\",\"$degreesToRadians\",\"$divide\",\"$eq\",\"$exp\",\"$filter\",\"$first\",\"$floor\",\"$function\",\"$gt\",\"$gte\",\"$hour\",\"$ifNull\",\"$in\",\"$indexOfArray\",\"$indexOfBytes\",\"$indexOfCP\",\"$isArray\",\"$isNumber\",\"$isoDayOfWeek\",\"$isoWeek\",\"$isoWeekYear\",\"$last\",\"$last\",\"$let\",\"$literal\",\"$ln\",\"$log\",\"$log10\",\"$lt\",\"$lte\",\"$ltrim\",\"$map\",\"$max\",\"$mergeObjects\",\"$meta\",\"$min\",\"$millisecond\",\"$minute\",\"$mod\",\"$month\",\"$multiply\",\"$ne\",\"$not\",\"$objectToArray\",\"$or\",\"$pow\",\"$push\",\"$radiansToDegrees\",\"$range\",\"$reduce\",\"$regexFind\",\"$regexFindAll\",\"$regexMatch\",\"$replaceOne\",\"$replaceAll\",\"$reverseArray\",\"$round\",\"$rtrim\",\"$second\",\"$setDifference\",\"$setEquals\",\"$setIntersection\",\"$setIsSubset\",\"$setUnion\",\"$size\",\"$sin\",\"$slice\",\"$split\",\"$sqrt\",\"$stdDevPop\",\"$stdDevSamp\",\"$strcasecmp\",\"$strLenBytes\",\"$strLenCP\",\"$substr\",\"$substrBytes\",\"$substrCP\",\"$subtract\",\"$sum\",\"$switch\",\"$tan\",\"$toBool\",\"$toDate\",\"$toDecimal\",\"$toDouble\",\"$toInt\",\"$toLong\",\"$toObjectId\",\"$toString\",\"$toLower\",\"$toUpper\",\"$trim\",\"$trunc\",\"$type\",\"$week\",\"$year\",\"$zip\",\"$comment\",\"$explain\",\"$hint\",\"$max\",\"$maxTimeMS\",\"$min\",\"$orderby\",\"$query\",\"$returnKey\",\"$showDiskLoc\",\"$natural\"],t=\"(?:\"+(e=e.map(function($){return $.replace(\"$\",\"\\\\$\")})).join(\"|\")+\")\\\\b\";$.languages.mongodb=$.languages.extend(\"javascript\",{}),$.languages.insertBefore(\"mongodb\",\"string\",{property:{pattern:/(?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)(?=\\s*:)/,greedy:!0,inside:{keyword:RegExp(\"^(['\\\"])?\"+t+\"(?:\\\\1)?$\")}}}),$.languages.mongodb.string.inside={url:{pattern:/https?:\\/\\/[-\\w@:%.+~#=]{1,256}\\.[a-z0-9()]{1,6}\\b[-\\w()@:%+.~#?&/=]*/i,greedy:!0},entity:{pattern:/\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b/,greedy:!0}},$.languages.insertBefore(\"mongodb\",\"constant\",{builtin:{pattern:RegExp(\"\\\\b(?:\"+[\"ObjectId\",\"Code\",\"BinData\",\"DBRef\",\"Timestamp\",\"NumberLong\",\"NumberDecimal\",\"MaxKey\",\"MinKey\",\"RegExp\",\"ISODate\",\"UUID\"].join(\"|\")+\")\\\\b\"),alias:\"keyword\"}})}(Prism);\nPrism.languages.monkey={string:/\"[^\"\\r\\n]*\"/,comment:[{pattern:/^#Rem\\s[\\s\\S]*?^#End/im,greedy:!0},{pattern:/'.+/,greedy:!0}],preprocessor:{pattern:/(^[ \\t]*)#.+/m,lookbehind:!0,alias:\"comment\"},function:/\\w+(?=\\()/,\"type-char\":{pattern:/(\\w)[?%#$]/,lookbehind:!0,alias:\"variable\"},number:{pattern:/((?:\\.\\.)?)(?:(?:\\b|\\B-\\.?|\\B\\.)\\d+(?:(?!\\.\\.)\\.\\d*)?|\\$[\\da-f]+)/i,lookbehind:!0},keyword:/\\b(?:Void|Strict|Public|Private|Property|Bool|Int|Float|String|Array|Object|Continue|Exit|Import|Extern|New|Self|Super|Try|Catch|Eachin|True|False|Extends|Abstract|Final|Select|Case|Default|Const|Local|Global|Field|Method|Function|Class|End|If|Then|Else|ElseIf|EndIf|While|Wend|Repeat|Until|Forever|For|To|Step|Next|Return|Module|Interface|Implements|Inline|Throw|Null)\\b/i,operator:/\\.\\.|<[=>]?|>=?|:?=|(?:[+\\-*\\/&~|]|\\b(?:Mod|Shl|Shr)\\b)=?|\\b(?:And|Not|Or)\\b/i,punctuation:/[.,:;()\\[\\]]/};\nPrism.languages.moonscript={comment:/--.*/,string:[{pattern:/'[^']*'|\\[(=*)\\[[\\s\\S]*?\\]\\1\\]/,greedy:!0},{pattern:/\"[^\"]*\"/,greedy:!0,inside:{interpolation:{pattern:/#\\{[^{}]*\\}/,inside:{moonscript:{pattern:/(^#\\{)[\\s\\S]+(?=\\})/,lookbehind:!0,inside:null},\"interpolation-punctuation\":{pattern:/#\\{|\\}/,alias:\"punctuation\"}}}}}],\"class-name\":[{pattern:/(\\b(?:class|extends)[ \\t]+)\\w+/,lookbehind:!0},/\\b[A-Z]\\w*/],keyword:/\\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\\b/,variable:/@@?\\w*/,property:{pattern:/\\b(?!\\d)\\w+(?=:)|(:)(?!\\d)\\w+/,lookbehind:!0},function:{pattern:/\\b(?:_G|_VERSION|assert|collectgarbage|coroutine\\.(?:running|create|resume|status|wrap|yield)|debug\\.(?:debug|gethook|getinfo|getlocal|getupvalue|setlocal|setupvalue|sethook|traceback|getfenv|getmetatable|getregistry|setfenv|setmetatable)|dofile|error|getfenv|getmetatable|io\\.(?:stdin|stdout|stderr|close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\\.(?:abs|acos|asin|atan|atan2|ceil|sin|cos|tan|deg|exp|floor|log|log10|max|min|fmod|modf|cosh|sinh|tanh|pow|rad|sqrt|frexp|ldexp|random|randomseed|pi)|module|next|os\\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\\.(?:byte|char|dump|find|len|lower|rep|sub|upper|format|gsub|gmatch|match|reverse)|table\\.(?:maxn|concat|sort|insert|remove)|tonumber|tostring|type|unpack|xpcall)\\b/,inside:{punctuation:/\\./}},boolean:/\\b(?:false|true)\\b/,number:/(?:\\B\\.\\d+|\\b\\d+\\.\\d+|\\b\\d+(?=[eE]))(?:[eE][-+]?\\d+)?\\b|\\b(?:0x[a-fA-F\\d]+|\\d+)(?:U?LL)?\\b/,operator:/\\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\\.\\.)=?|[:#^]|\\b(?:and|or)\\b=?|\\b(?:not)\\b/,punctuation:/[.,()[\\]{}\\\\]/},Prism.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside=Prism.languages.moonscript,Prism.languages.moon=Prism.languages.moonscript;\nPrism.languages.n1ql={comment:/\\/\\*[\\s\\S]*?(?:$|\\*\\/)/,parameter:/\\$[\\w.]+/,string:{pattern:/([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\]|\\1\\1)*\\1/,greedy:!0},identifier:{pattern:/`(?:\\\\[\\s\\S]|[^\\\\`]|``)*`/,greedy:!0},function:/\\b(?:ABS|ACOS|ARRAY_AGG|ARRAY_APPEND|ARRAY_AVG|ARRAY_CONCAT|ARRAY_CONTAINS|ARRAY_COUNT|ARRAY_DISTINCT|ARRAY_FLATTEN|ARRAY_IFNULL|ARRAY_INSERT|ARRAY_INTERSECT|ARRAY_LENGTH|ARRAY_MAX|ARRAY_MIN|ARRAY_POSITION|ARRAY_PREPEND|ARRAY_PUT|ARRAY_RANGE|ARRAY_REMOVE|ARRAY_REPEAT|ARRAY_REPLACE|ARRAY_REVERSE|ARRAY_SORT|ARRAY_STAR|ARRAY_SUM|ARRAY_SYMDIFF|ARRAY_SYMDIFFN|ARRAY_UNION|ASIN|ATAN|ATAN2|AVG|BASE64|BASE64_DECODE|BASE64_ENCODE|BITAND|BITCLEAR|BITNOT|BITOR|BITSET|BITSHIFT|BITTEST|BITXOR|CEIL|CLOCK_LOCAL|CLOCK_MILLIS|CLOCK_STR|CLOCK_TZ|CLOCK_UTC|CONTAINS|CONTAINS_TOKEN|CONTAINS_TOKEN_LIKE|CONTAINS_TOKEN_REGEXP|COS|COUNT|CURL|DATE_ADD_MILLIS|DATE_ADD_STR|DATE_DIFF_MILLIS|DATE_DIFF_STR|DATE_FORMAT_STR|DATE_PART_MILLIS|DATE_PART_STR|DATE_RANGE_MILLIS|DATE_RANGE_STR|DATE_TRUNC_MILLIS|DATE_TRUNC_STR|DECODE_JSON|DEGREES|DURATION_TO_STR|E|ENCODED_SIZE|ENCODE_JSON|EXP|FLOOR|GREATEST|HAS_TOKEN|IFINF|IFMISSING|IFMISSINGORNULL|IFNAN|IFNANORINF|IFNULL|INITCAP|ISARRAY|ISATOM|ISBOOLEAN|ISNUMBER|ISOBJECT|ISSTRING|IsBitSET|LEAST|LENGTH|LN|LOG|LOWER|LTRIM|MAX|META|MILLIS|MILLIS_TO_LOCAL|MILLIS_TO_STR|MILLIS_TO_TZ|MILLIS_TO_UTC|MILLIS_TO_ZONE_NAME|MIN|MISSINGIF|NANIF|NEGINFIF|NOW_LOCAL|NOW_MILLIS|NOW_STR|NOW_TZ|NOW_UTC|NULLIF|OBJECT_ADD|OBJECT_CONCAT|OBJECT_INNER_PAIRS|OBJECT_INNER_VALUES|OBJECT_LENGTH|OBJECT_NAMES|OBJECT_PAIRS|OBJECT_PUT|OBJECT_REMOVE|OBJECT_RENAME|OBJECT_REPLACE|OBJECT_UNWRAP|OBJECT_VALUES|PAIRS|PI|POLY_LENGTH|POSINFIF|POSITION|POWER|RADIANS|RANDOM|REGEXP_CONTAINS|REGEXP_LIKE|REGEXP_POSITION|REGEXP_REPLACE|REPEAT|REPLACE|REVERSE|ROUND|RTRIM|SIGN|SIN|SPLIT|SQRT|STR_TO_DURATION|STR_TO_MILLIS|STR_TO_TZ|STR_TO_UTC|STR_TO_ZONE_NAME|SUBSTR|SUFFIXES|SUM|TAN|TITLE|TOARRAY|TOATOM|TOBOOLEAN|TOKENS|TONUMBER|TOOBJECT|TOSTRING|TRIM|TRUNC|TYPE|UPPER|WEEKDAY_MILLIS|WEEKDAY_STR)(?=\\s*\\()/i,keyword:/\\b(?:ALL|ALTER|ANALYZE|AS|ASC|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|CONNECT|CONTINUE|CORRELATE|COVER|CREATE|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FLATTEN|FOR|FORCE|FROM|FUNCTION|GRANT|GROUP|GSI|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LAST|LEFT|LET|LETTING|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NULL|NUMBER|OBJECT|OFFSET|ON|OPTION|ORDER|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROCEDURE|PUBLIC|RAW|REALM|REDUCE|RENAME|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|SATISFIES|SCHEMA|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TO|TRANSACTION|TRIGGER|TRUNCATE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WITH|WORK|XOR)\\b/i,boolean:/\\b(?:TRUE|FALSE)\\b/i,number:/(?:\\b\\d+\\.|\\B\\.)\\d+e[+\\-]?\\d+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,operator:/[-+*\\/%]|!=|==?|\\|\\||<[>=]?|>=?|\\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\\b/i,punctuation:/[;[\\](),.{}:]/};\nPrism.languages.n4js=Prism.languages.extend(\"javascript\",{keyword:/\\b(?:any|Array|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/}),Prism.languages.insertBefore(\"n4js\",\"constant\",{annotation:{pattern:/@+\\w+/,alias:\"operator\"}}),Prism.languages.n4jsd=Prism.languages.n4js;\nPrism.languages[\"nand2tetris-hdl\"]={comment:/\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,keyword:/\\b(?:CHIP|IN|OUT|PARTS|BUILTIN|CLOCKED)\\b/,boolean:/\\b(?:true|false)\\b/,function:/[A-Za-z][A-Za-z0-9]*(?=\\()/,number:/\\b\\d+\\b/,operator:/=|\\.\\./,punctuation:/[{}[\\];(),:]/};\n!function(e){var a=/\\{[^\\r\\n\\[\\]{}]*\\}/,n={\"quoted-string\":{pattern:/\"(?:[^\"\\\\]|\\\\.)*\"/,alias:\"operator\"},\"command-param-id\":{pattern:/(\\s)\\w+:/,lookbehind:!0,alias:\"property\"},\"command-param-value\":[{pattern:a,alias:\"selector\"},{pattern:/([\\t ])\\S+/,lookbehind:!0,greedy:!0,alias:\"operator\"},{pattern:/\\S(?:.*\\S)?/,alias:\"operator\"}]};function t(e){return\"string\"==typeof e?e:Array.isArray(e)?e.map(t).join(\"\"):t(e.content)}e.languages.naniscript={comment:{pattern:/^([\\t ]*);.*/m,lookbehind:!0},define:{pattern:/^>.+/m,alias:\"tag\",inside:{value:{pattern:/(^>\\w+[\\t ]+)(?!\\s)[^{}\\r\\n]+/,lookbehind:!0,alias:\"operator\"},key:{pattern:/(^>)\\w+/,lookbehind:!0}}},label:{pattern:/^([\\t ]*)#[\\t ]*\\w+[\\t ]*$/m,lookbehind:!0,alias:\"regex\"},command:{pattern:/^([\\t ]*)@\\w+(?=[\\t ]|$).*/m,lookbehind:!0,alias:\"function\",inside:{\"command-name\":/^@\\w+/,expression:{pattern:a,greedy:!0,alias:\"selector\"},\"command-params\":{pattern:/\\s*\\S[\\s\\S]*/,inside:n}}},\"generic-text\":{pattern:/(^[ \\t]*)[^#@>;\\s].*/m,lookbehind:!0,alias:\"punctuation\",inside:{\"escaped-char\":/\\\\[{}\\[\\]\"]/,expression:{pattern:a,greedy:!0,alias:\"selector\"},\"inline-command\":{pattern:/\\[[\\t ]*\\w[^\\r\\n\\[\\]]*\\]/,greedy:!0,alias:\"function\",inside:{\"command-params\":{pattern:/(^\\[[\\t ]*\\w+\\b)[\\s\\S]+(?=\\]$)/,lookbehind:!0,inside:n},\"command-param-name\":{pattern:/^(\\[[\\t ]*)\\w+/,lookbehind:!0,alias:\"name\"},\"start-stop-char\":/[\\[\\]]/}}}}},e.languages.nani=e.languages.naniscript,e.hooks.add(\"after-tokenize\",function(e){e.tokens.forEach(function(e){if(\"string\"!=typeof e&&\"generic-text\"===e.type){var a=t(e);(function(e){for(var a=[],n=0;n<e.length;n++){var t=e[n],r=\"[]{}\".indexOf(t);if(-1!==r)if(r%2==0)a.push(r+1);else if(a.pop()!==r)return!1}return 0===a.length})(a)||(e.type=\"bad-line\",e.content=a)}})})}(Prism);\nPrism.languages.nasm={comment:/;.*$/m,string:/([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,label:{pattern:/(^\\s*)[A-Za-z._?$][\\w.?$@~#]*:/m,lookbehind:!0,alias:\"function\"},keyword:[/\\[?BITS (?:16|32|64)\\]?/,{pattern:/(^\\s*)section\\s*[a-zA-Z.]+:?/im,lookbehind:!0},/(?:extern|global)[^;\\r\\n]*/i,/(?:CPU|FLOAT|DEFAULT).*$/m],register:{pattern:/\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s)\\b/i,alias:\"variable\"},number:/(?:\\b|(?=\\$))(?:0[hx](?:\\.[\\da-f]+|[\\da-f]+(?:\\.[\\da-f]+)?)(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,operator:/[\\[\\]*+\\-\\/%<>=&|$!]/};\nPrism.languages.neon={comment:{pattern:/#.*/,greedy:!0},datetime:{pattern:/(^|[[{(=:,\\s])\\d\\d\\d\\d-\\d\\d?-\\d\\d?(?:(?:[Tt]| +)\\d\\d?:\\d\\d:\\d\\d(?:\\.\\d*)? *(?:Z|[-+]\\d\\d?(?::?\\d\\d)?)?)?(?=$|[\\]}),\\s])/,lookbehind:!0,alias:\"number\"},key:{pattern:/(^|[[{(,\\s])[^,:=[\\]{}()'\"\\s]+(?=\\s*:(?:$|[\\]}),\\s])|\\s*=)/,lookbehind:!0,alias:\"atrule\"},number:{pattern:/(^|[[{(=:,\\s])[+-]?(?:0x[\\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\\d+(?:\\.\\d*)?|\\.?\\d+)(?:[eE][+-]?\\d+)?)(?=$|[\\]}),:=\\s])/,lookbehind:!0},boolean:{pattern:/(^|[[{(=:,\\s])(?:true|false|yes|no)(?=$|[\\]}),:=\\s])/i,lookbehind:!0},null:{pattern:/(^|[[{(=:,\\s])(?:null)(?=$|[\\]}),:=\\s])/i,lookbehind:!0,alias:\"keyword\"},string:{pattern:/(^|[[{(=:,\\s])(?:('''|\"\"\")\\r?\\n(?:(?:[^\\r\\n]|\\r?\\n(?![\\t ]*\\2))*\\r?\\n)?[\\t ]*\\2|'[^'\\r\\n]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")/,lookbehind:!0,greedy:!0},literal:{pattern:/(^|[[{(=:,\\s])(?:[^#\"\\',:=[\\]{}()\\s`-]|[:-][^\"\\',=[\\]{}()\\s])(?:[^,:=\\]})(\\s]|:(?![\\s,\\]})]|$)|[ \\t]+[^#,:=\\]})(\\s])*/,lookbehind:!0,alias:\"string\"},punctuation:/[,:=[\\]{}()-]/};\nPrism.languages.nginx=Prism.languages.extend(\"clike\",{comment:{pattern:/(^|[^\"{\\\\])#.*/,lookbehind:!0},keyword:/\\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|if_not_empty|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|http|events|accept_mutex|accept_mutex_delay|access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth|auth_basic|auth_basic_user_file|auth_http|auth_http_header|auth_http_timeout|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|debug_connection|debug_points|default_type|deny|devpoll_changes|devpoll_events|directio|directio_alignment|disable_symlinks|empty_gif|env|epoll_events|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|google_perftools_profiles|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|imap_capabilities|imap_client_buffer|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|kqueue_changes|kqueue_events|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|lock_file|log_format|log_format_combined|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|multi_accept|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|pop3_auth|pop3_capabilities|port_in_redirect|post_action|postpone_output|protocol|proxy|proxy_buffer|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_error_message|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_timeout|proxy_upstream_fail_timeout|proxy_upstream_max_fails|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|rtsig_overflow_events|rtsig_overflow_test|rtsig_overflow_threshold|rtsig_signo|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|smtp_auth|smtp_capabilities|so_keepalive|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|starttls|stub_status|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timeout|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|use|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_rlimit_sigpending|working_directory|xclient|xml_entities|xslt_entities|xslt_stylesheet|xslt_types|ssl_session_tickets|ssl_stapling|ssl_stapling_verify|ssl_ecdh_curve|ssl_trusted_certificate|more_set_headers|ssl_early_data)\\b/i}),Prism.languages.insertBefore(\"nginx\",\"keyword\",{variable:/\\$[a-z_]+/i});\nPrism.languages.nim={comment:/#.*/,string:{pattern:/(?:(?:\\b(?!\\d)(?:\\w|\\\\x[8-9a-fA-F][0-9a-fA-F])+)?(?:\"\"\"[\\s\\S]*?\"\"\"(?!\")|\"(?:\\\\[\\s\\S]|\"\"|[^\"\\\\])*\")|'(?:\\\\(?:\\d+|x[\\da-fA-F]{2}|.)|[^'])')/,greedy:!0},number:/\\b(?:0[xXoObB][\\da-fA-F_]+|\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:[eE][+-]?\\d[\\d_]*)?)(?:'?[iuf]\\d*)?/,keyword:/\\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\\b/,function:{pattern:/(?:(?!\\d)(?:\\w|\\\\x[8-9a-fA-F][0-9a-fA-F])+|`[^`\\r\\n]+`)\\*?(?:\\[[^\\]]+\\])?(?=\\s*\\()/,inside:{operator:/\\*$/}},ignore:{pattern:/`[^`\\r\\n]+`/,inside:{punctuation:/`/}},operator:{pattern:/(^|[({\\[](?=\\.\\.)|(?![({\\[]\\.).)(?:(?:[=+\\-*\\/<>@$~&%|!?^:\\\\]|\\.\\.|\\.(?![)}\\]]))+|\\b(?:and|div|of|or|in|is|isnot|mod|not|notin|shl|shr|xor)\\b)/m,lookbehind:!0},punctuation:/[({\\[]\\.|\\.[)}\\]]|[`(){}\\[\\],:]/};\nPrism.languages.nix={comment:/\\/\\*[\\s\\S]*?\\*\\/|#.*/,string:{pattern:/\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|''(?:(?!'')[\\s\\S]|''(?:'|\\\\|\\$\\{))*''/,greedy:!0,inside:{interpolation:{pattern:/(^|(?:^|(?!'').)[^\\\\])\\$\\{(?:[^{}]|\\{[^}]*\\})*\\}/,lookbehind:!0,inside:{antiquotation:{pattern:/^\\$(?=\\{)/,alias:\"variable\"}}}}},url:[/\\b(?:[a-z]{3,7}:\\/\\/)[\\w\\-+%~\\/.:#=?&]+/,{pattern:/([^\\/])(?:[\\w\\-+%~.:#=?&]*(?!\\/\\/)[\\w\\-+%~\\/.:#=?&])?(?!\\/\\/)\\/[\\w\\-+%~\\/.:#=?&]*/,lookbehind:!0}],antiquotation:{pattern:/\\$(?=\\{)/,alias:\"variable\"},number:/\\b\\d+\\b/,keyword:/\\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\\b/,function:/\\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:url|Tarball)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\\b|\\bfoldl'\\B/,boolean:/\\b(?:true|false)\\b/,operator:/[=!<>]=?|\\+\\+?|\\|\\||&&|\\/\\/|->?|[?@]/,punctuation:/[{}()[\\].,:;]/},Prism.languages.nix.string.inside.interpolation.inside.rest=Prism.languages.nix;\nPrism.languages.nsis={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|[#;].*)/,lookbehind:!0},string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},keyword:{pattern:/(^\\s*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|Banner|BG(?:Font|Gradient|Image)|BrandingText|BringToFront|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|WriteUTF16LE|Seek|Write|WriteByte|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|Name|Nop|ns(?:Dialogs|Exec)|NSISdl|OutFile|Page(?:Callbacks)?|PE(?:DllCharacteristics|SubsysVer)|Pop|Push|Quit|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Unicode|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UninstPage|UnRegDLL|UserInfo|Var|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle)\\b/m,lookbehind:!0},property:/\\b(?:admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user|ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)\\b/,constant:/\\${[\\w\\.:\\^-]+}|\\$\\([\\w\\.:\\^-]+\\)/i,variable:/\\$\\w+/i,number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,operator:/--?|\\+\\+?|<=?|>=?|==?=?|&&?|\\|\\|?|[?*\\/~^%]/,punctuation:/[{}[\\];(),.:]/,important:{pattern:/(^\\s*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\\b/im,lookbehind:!0}};\nPrism.languages.objectivec=Prism.languages.extend(\"c\",{string:/(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|@\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\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/,operator:/-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/}),delete Prism.languages.objectivec[\"class-name\"],Prism.languages.objc=Prism.languages.objectivec;\nPrism.languages.ocaml={comment:/\\(\\*[\\s\\S]*?\\*\\)/,string:[{pattern:/\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,greedy:!0},{pattern:/(['`])(?:\\\\(?:\\d+|x[\\da-f]+|.)|(?!\\1)[^\\\\\\r\\n])\\1/i,greedy:!0}],number:/\\b(?:0x[\\da-f][\\da-f_]+|(?:0[bo])?\\d[\\d_]*(?:\\.[\\d_]*)?(?:e[+-]?[\\d_]+)?)/i,directive:{pattern:/\\B#\\w+/,alias:\"important\"},label:{pattern:/\\B~\\w+/,alias:\"function\"},\"type-variable\":{pattern:/\\B'\\w+/,alias:\"function\"},variant:{pattern:/`\\w+/,alias:\"variable\"},module:{pattern:/\\b[A-Z]\\w+/,alias:\"variable\"},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|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\\b/,boolean:/\\b(?:false|true)\\b/,operator:/:=|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\\b/,punctuation:/[(){}\\[\\]|.,:;]|\\b_\\b/};\n!function(E){E.languages.opencl=E.languages.extend(\"c\",{keyword:/\\b(?:__attribute__|(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|auto|break|case|complex|const|continue|default|do|(?:float|double)(?:16(?:x(?:1|16|2|4|8))?|1x(?:1|16|2|4|8)|2(?:x(?:1|16|2|4|8))?|3|4(?:x(?:1|16|2|4|8))?|8(?:x(?:1|16|2|4|8))?)?|else|enum|extern|for|goto|(?:u?(?:char|short|int|long)|half|quad|bool)(?:2|3|4|8|16)?|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\\b/,number:/(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[fuhl]{0,4}/i,boolean:/\\b(?:false|true)\\b/,\"constant-opencl-kernel\":{pattern:/\\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|MANT_DIG|(?:MIN|MAX)(?:(?:_10)?_EXP)?)|FLT_RADIX|HUGE_VALF?|INFINITY|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|(?:UCHAR|USHRT|UINT|ULONG)_MAX|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:10|2)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN)\\b/,alias:\"constant\"}}),E.languages.insertBefore(\"opencl\",\"class-name\",{\"builtin-type\":{pattern:/\\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\\b/,alias:\"keyword\"}});var _={\"type-opencl-host\":{pattern:/\\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|short|int|long)|float|double)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\\b/,alias:\"keyword\"},\"boolean-opencl-host\":{pattern:/\\bCL_(?:TRUE|FALSE)\\b/,alias:\"boolean\"},\"constant-opencl-host\":{pattern:/\\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:16|24|8|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\\b/,alias:\"constant\"},\"function-opencl-host\":{pattern:/\\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\\b/,alias:\"function\"}};E.languages.insertBefore(\"c\",\"keyword\",_),E.languages.cpp&&(_[\"type-opencl-host-cpp\"]={pattern:/\\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\\b/,alias:\"keyword\"},E.languages.insertBefore(\"cpp\",\"keyword\",_))}(Prism);\nPrism.languages.oz={comment:/\\/\\*[\\s\\S]*?\\*\\/|%.*/,string:{pattern:/\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,greedy:!0},atom:{pattern:/'(?:[^'\\\\]|\\\\[\\s\\S])*'/,greedy:!0,alias:\"builtin\"},keyword:/\\$|\\[\\]|\\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\\b/,function:[/\\b[a-z][A-Za-z\\d]*(?=\\()/,{pattern:/(\\{)[A-Z][A-Za-z\\d]*\\b/,lookbehind:!0}],number:/\\b(?:0[bx][\\da-f]+|\\d+(?:\\.\\d*)?(?:e~?\\d+)?)\\b|&(?:[^\\\\]|\\\\(?:\\d{3}|.))/i,variable:/\\b[A-Z][A-Za-z\\d]*|`(?:[^`\\\\]|\\\\.)+`/,\"attr-name\":/\\w+(?=:)/,operator:/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\\\=:?|!!?|[|#+\\-*\\/,~^@]|\\b(?:andthen|div|mod|orelse)\\b/,punctuation:/[\\[\\](){}.:;?]/};\nPrism.languages.parigp={comment:/\\/\\*[\\s\\S]*?\\*\\/|\\\\\\\\.*/,string:{pattern:/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,greedy:!0},keyword:function(){var r=[\"breakpoint\",\"break\",\"dbg_down\",\"dbg_err\",\"dbg_up\",\"dbg_x\",\"forcomposite\",\"fordiv\",\"forell\",\"forpart\",\"forprime\",\"forstep\",\"forsubgroup\",\"forvec\",\"for\",\"iferr\",\"if\",\"local\",\"my\",\"next\",\"return\",\"until\",\"while\"];return r=r.map(function(r){return r.split(\"\").join(\" *\")}).join(\"|\"),RegExp(\"\\\\b(?:\"+r+\")\\\\b\")}(),function:/\\w(?:[\\w ]*\\w)?(?= *\\()/,number:{pattern:/((?:\\. *\\. *)?)(?:\\b\\d(?: *\\d)*(?: *(?!\\. *\\.)\\.(?: *\\d)*)?|\\. *\\d(?: *\\d)*)(?: *e *(?:[+-] *)?\\d(?: *\\d)*)?/i,lookbehind:!0},operator:/\\. *\\.|[*\\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\\+(?: *[+=])?|-(?: *[-=>])?|<(?:(?: *<)?(?: *=)?| *>)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\\\(?: *\\/)?(?: *=)?|&(?: *&)?|\\| *\\||['#~^]/,punctuation:/[\\[\\]{}().,:;|]/};\n!function(e){var n=e.languages.parser=e.languages.extend(\"markup\",{keyword:{pattern:/(^|[^^])(?:\\^(?:case|eval|for|if|switch|throw)\\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\\b)/,lookbehind:!0},variable:{pattern:/(^|[^^])\\B\\$(?:\\w+|(?=[.{]))(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,lookbehind:!0,inside:{punctuation:/\\.|:+/}},function:{pattern:/(^|[^^])\\B[@^]\\w+(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,lookbehind:!0,inside:{keyword:{pattern:/(^@)(?:GET_|SET_)/,lookbehind:!0},punctuation:/\\.|:+/}},escape:{pattern:/\\^(?:[$^;@()\\[\\]{}\"':]|#[a-f\\d]*)/i,alias:\"builtin\"},punctuation:/[\\[\\](){};]/});n=e.languages.insertBefore(\"parser\",\"keyword\",{\"parser-comment\":{pattern:/(\\s)#.*/,lookbehind:!0,alias:\"comment\"},expression:{pattern:/(^|[^^])\\((?:[^()]|\\((?:[^()]|\\((?:[^()])*\\))*\\))*\\)/,greedy:!0,lookbehind:!0,inside:{string:{pattern:/(^|[^^])([\"'])(?:(?!\\2)[^^]|\\^[\\s\\S])*\\2/,lookbehind:!0},keyword:n.keyword,variable:n.variable,function:n.function,boolean:/\\b(?:true|false)\\b/,number:/\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?)\\b/i,escape:n.escape,operator:/[~+*\\/\\\\%]|!(?:\\|\\|?|=)?|&&?|\\|\\|?|==|<[<=]?|>[>=]?|-[fd]?|\\b(?:def|eq|ge|gt|in|is|le|lt|ne)\\b/,punctuation:n.punctuation}}}),n=e.languages.insertBefore(\"inside\",\"punctuation\",{expression:n.expression,keyword:n.keyword,variable:n.variable,function:n.function,escape:n.escape,\"parser-punctuation\":{pattern:n.punctuation,alias:\"punctuation\"}},n.tag.inside[\"attr-value\"])}(Prism);\nPrism.languages.pascal={comment:[/\\(\\*[\\s\\S]+?\\*\\)/,/\\{[\\s\\S]+?\\}/,/\\/\\/.*/],string:{pattern:/(?:'(?:''|[^'\\r\\n])*'(?!')|#[&$%]?[a-f\\d]+)+|\\^[a-z]/i,greedy:!0},keyword:[{pattern:/(^|[^&])\\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\\b/i,lookbehind:!0},{pattern:/(^|[^&])\\b(?:dispose|exit|false|new|true)\\b/i,lookbehind:!0},{pattern:/(^|[^&])\\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\\b/i,lookbehind:!0},{pattern:/(^|[^&])\\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\\b/i,lookbehind:!0}],number:[/(?:[&%]\\d+|\\$[a-f\\d]+)/i,/\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?/i],operator:[/\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=]/i,{pattern:/(^|[^&])\\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\\b/,lookbehind:!0}],punctuation:/\\(\\.|\\.\\)|[()\\[\\]:;,.]/},Prism.languages.objectpascal=Prism.languages.pascal;\n!function(e){var n=\"(?:\\\\w+(?:<braces>)?|<braces>)\".replace(/<braces>/g,function(){return\"\\\\((?:[^()]|\\\\((?:[^()]|\\\\([^()]*\\\\))*\\\\))*\\\\)\"}),t=e.languages.pascaligo={comment:/\\(\\*[\\s\\S]+?\\*\\)|\\/\\/.*/,string:{pattern:/([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\^[a-z]/i,greedy:!0},\"class-name\":[{pattern:RegExp(\"(\\\\btype\\\\s+\\\\w+\\\\s+is\\\\s+)<type>\".replace(/<type>/g,function(){return n}),\"i\"),lookbehind:!0,inside:null},{pattern:RegExp(\"<type>(?=\\\\s+is\\\\b)\".replace(/<type>/g,function(){return n}),\"i\"),inside:null},{pattern:RegExp(\"(:\\\\s*)<type>\".replace(/<type>/g,function(){return n})),lookbehind:!0,inside:null}],keyword:{pattern:/(^|[^&])\\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\\b/i,lookbehind:!0},boolean:{pattern:/(^|[^&])\\b(?:True|False)\\b/i,lookbehind:!0},builtin:{pattern:/(^|[^&])\\b(?:bool|int|list|map|nat|record|string|unit)\\b/i,lookbehind:!0},function:/\\w+(?=\\s*\\()/i,number:[/%[01]+|&[0-7]+|\\$[a-f\\d]+/i,/\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?(?:mtz|n)?/i],operator:/->|=\\/=|\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=|]|\\b(?:and|mod|or)\\b/,punctuation:/\\(\\.|\\.\\)|[()\\[\\]:;,.{}]/},i=[\"comment\",\"keyword\",\"builtin\",\"operator\",\"punctuation\"].reduce(function(e,n){return e[n]=t[n],e},{});t[\"class-name\"].forEach(function(e){e.inside=i})}(Prism);\nPrism.languages.psl={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/\"(?:\\\\.|[^\\\\\"])*\"/,greedy:!0,inside:{symbol:/\\\\[ntrbA-Z\"\\\\]/}},\"heredoc-string\":{pattern:/<<<([a-zA-Z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\1\\b/,alias:\"string\",greedy:!0},keyword:/\\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\\b/,constant:/\\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|FALSE|False|false|NO|No|no|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|TRUE|True|true|VOID|WARN)\\b/,variable:/\\b(?:errno|exit_status|PslDebug)\\b/,builtin:{pattern:/\\b(?:acos|add_diary|annotate|annotate_get|asctime|asin|atan|atexit|ascii_to_ebcdic|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|destroy_lock|dump_hist|date|destroy|difference|dget_text|dcget_text|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|floor|fmod|full_discovery|file|fopen|ftell|fseek|grep|get_vars|getenv|get|get_chan_info|get_ranges|get_text|gethostinfo|getpid|getpname|history_get_retention|history|index|int|is_var|intersection|isnumber|internal|in_transition|join|kill|length|lines|lock|lock_info|log|loge|log10|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|num_consoles|nthargf|nthline|nthlinef|num_bytes|print|proc_exists|process|popen|printf|pconfig|poplines|pow|PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|sopen|sqrt|srandom|subset|set|substr|system|sprintf|sort|subset|snmp_agent_config|_snmp_debug|snmp_agent_stop|snmp_agent_start|snmp_h_set|snmp_h_get_next|snmp_h_get|snmp_set|snmp_walk|snmp_get_next|snmp_get|snmp_config|snmp_close|snmp_open|snmp_trap_receive|snmp_trap_ignore|snmp_trap_listen|snmp_trap_send|snmp_trap_raise_std_trap|snmp_trap_register_im|splitline|strcasecmp|str_repeat|trim|tail|tan|tanh|time|tmpnam|tolower|toupper|trace_psl_process|text_domain|unlock|unique|union|unset|va_arg|va_start|write)\\b/,alias:\"builtin-function\"},\"foreach-variable\":{pattern:/(\\bforeach\\s+(?:(?:\\w+\\b|\"(?:\\\\.|[^\\\\\"])*\")\\s+){0,2})[_a-zA-Z]\\w*(?=\\s*\\()/,lookbehind:!0,greedy:!0},function:{pattern:/\\b[_a-z]\\w*\\b(?=\\s*\\()/i},number:/\\b(?:0x[0-9a-f]+|[0-9]+(?:\\.[0-9]+)?)\\b/i,operator:/--|\\+\\+|&&=?|\\|\\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\\.|[:?]/,punctuation:/[(){}\\[\\];,]/};\nPrism.languages.pcaxis={string:/\"[^\"]*\"/,keyword:{pattern:/((?:^|;)\\s*)[-A-Z\\d]+(?:\\s*\\[[-\\w]+\\])?(?:\\s*\\(\"[^\"]*\"(?:,\\s*\"[^\"]*\")*\\))?(?=\\s*=)/,lookbehind:!0,greedy:!0,inside:{keyword:/^[-A-Z\\d]+/,language:{pattern:/^(\\s*)\\[[-\\w]+\\]/,lookbehind:!0,inside:{punctuation:/^\\[|\\]$/,property:/[-\\w]+/}},\"sub-key\":{pattern:/^(\\s*)\\S[\\s\\S]*/,lookbehind:!0,inside:{parameter:{pattern:/\"[^\"]*\"/,alias:\"property\"},punctuation:/^\\(|\\)$|,/}}}},operator:/=/,tlist:{pattern:/TLIST\\s*\\(\\s*\\w+(?:(?:\\s*,\\s*\"[^\"]*\")+|\\s*,\\s*\"[^\"]*\"-\"[^\"]*\")?\\s*\\)/,greedy:!0,inside:{function:/^TLIST/,property:{pattern:/^(\\s*\\(\\s*)\\w+/,lookbehind:!0},string:/\"[^\"]*\"/,punctuation:/[(),]/,operator:/-/}},punctuation:/[;,]/,number:{pattern:/(^|\\s)\\d+(?:\\.\\d+)?(?!\\S)/,lookbehind:!0},boolean:/YES|NO/},Prism.languages.px=Prism.languages.pcaxis;\nPrism.languages.peoplecode={comment:RegExp([\"/\\\\*[^]*?\\\\*/\",\"\\\\bREM[^;]*;\",\"<\\\\*(?:[^<*]|\\\\*(?!>)|<(?!\\\\*)|<\\\\*(?:(?!\\\\*>)[^])*\\\\*>)*\\\\*>\",\"/\\\\+[^]*?\\\\+/\"].join(\"|\")),string:{pattern:/'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,greedy:!0},variable:/%\\w+/,\"function-definition\":{pattern:/((?:^|[^\\w-])(?:function|method)\\s+)\\w+/i,lookbehind:!0,alias:\"function\"},\"class-name\":{pattern:/((?:^|[^-\\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\\s+)\\w+(?::\\w+)*/i,lookbehind:!0,inside:{punctuation:/:/}},keyword:/\\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|implements|import|instance|if|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\\b/i,\"operator-keyword\":{pattern:/\\b(?:and|not|or)\\b/i,alias:\"operator\"},function:/[_a-z]\\w*(?=\\s*\\()/i,boolean:/\\b(?:false|true)\\b/i,number:/\\b\\d+(?:\\.\\d+)?\\b/,operator:/<>|[<>]=?|!=|\\*\\*|[-+*/|=@]/,punctuation:/[:.;,()[\\]]/},Prism.languages.pcode=Prism.languages.peoplecode;\nPrism.languages.perl={comment:[{pattern:/(^\\s*)=\\w[\\s\\S]*?=cut.*/m,lookbehind:!0},{pattern:/(^|[^\\\\$])#.*/,lookbehind:!0}],string:[{pattern:/\\b(?:q|qq|qx|qw)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,greedy:!0},{pattern:/\\b(?:q|qq|qx|qw)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,greedy:!0},{pattern:/\\b(?:q|qq|qx|qw)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,greedy:!0},{pattern:/\\b(?:q|qq|qx|qw)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}/,greedy:!0},{pattern:/\\b(?:q|qq|qx|qw)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]/,greedy:!0},{pattern:/\\b(?:q|qq|qx|qw)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,greedy:!0},{pattern:/(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,greedy:!0},{pattern:/'(?:[^'\\\\\\r\\n]|\\\\.)*'/,greedy:!0}],regex:[{pattern:/\\b(?:m|qr)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,greedy:!0},{pattern:/\\b(?:m|qr)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,greedy:!0},{pattern:/\\b(?:m|qr)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngc]*/,greedy:!0},{pattern:/\\b(?:m|qr)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngc]*/,greedy:!0},{pattern:/\\b(?:m|qr)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngc]*/,greedy:!0},{pattern:/\\b(?:m|qr)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngc]*/,greedy:!0},{pattern:/(^|[^-]\\b)(?:s|tr|y)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\\b)(?:s|tr|y)\\s+([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\\b)(?:s|tr|y)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\\b)(?:s|tr|y)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\\b)(?:s|tr|y)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^-]\\b)(?:s|tr|y)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngcer]*/,lookbehind:!0,greedy:!0},{pattern:/\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\\b))/,greedy:!0}],variable:[/[&*$@%]\\{\\^[A-Z]+\\}/,/[&*$@%]\\^[A-Z_]/,/[&*$@%]#?(?=\\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+)+(?:::)*/i,/[&*$@%]\\d+/,/(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\\S*>|\\b_\\b/,alias:\"symbol\"},vstring:{pattern:/v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,alias:\"string\"},function:{pattern:/sub [a-z0-9_]+/i,inside:{keyword:/sub/}},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|return|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,number:/\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\\b/,punctuation:/[{}[\\];(),:]/};\n!function(a){var e=\"(?:\\\\b[a-zA-Z]\\\\w*|[|\\\\\\\\[\\\\]])+\";a.languages.phpdoc=a.languages.extend(\"javadoclike\",{parameter:{pattern:RegExp(\"(@(?:global|param|property(?:-read|-write)?|var)\\\\s+(?:\"+e+\"\\\\s+)?)\\\\$\\\\w+\"),lookbehind:!0}}),a.languages.insertBefore(\"phpdoc\",\"keyword\",{\"class-name\":[{pattern:RegExp(\"(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\\\s+)\"+e),lookbehind:!0,inside:{keyword:/\\b(?:callback|resource|boolean|integer|double|object|string|array|false|float|mixed|bool|null|self|true|void|int)\\b/,punctuation:/[|\\\\[\\]()]/}}]}),a.languages.javadoclike.addSupport(\"php\",a.languages.phpdoc)}(Prism);\nPrism.languages.insertBefore(\"php\",\"variable\",{this:/\\$this\\b/,global:/\\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)\\b/,scope:{pattern:/\\b[\\w\\\\]+::/,inside:{keyword:/static|self|parent/,punctuation:/::|\\\\/}}});\n!function(E){var A=E.languages.plsql=E.languages.extend(\"sql\",{comment:[/\\/\\*[\\s\\S]*?\\*\\//,/--.*/]}),T=A.keyword;Array.isArray(T)||(T=A.keyword=[T]),T.unshift(/\\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\\b/i);var R=A.operator;Array.isArray(R)||(R=A.operator=[R]),R.unshift(/:=/)}(Prism);\nPrism.languages.powerquery={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:\\/\\/).*)/,lookbehind:!0},\"quoted-identifier\":{pattern:/#\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,greedy:!0,alias:\"variable\"},string:{pattern:/\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,greedy:!0},constant:[/\\bDay\\.(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\\b/,/\\bTraceLevel\\.(?:Critical|Error|Information|Verbose|Warning)\\b/,/\\bOccurrence\\.(?:First|Last|All)\\b/,/\\bOrder\\.(?:Ascending|Descending)\\b/,/\\bRoundingMode\\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\\b/,/\\bMissingField\\.(?:Error|Ignore|UseNull)\\b/,/\\bQuoteStyle\\.(?:Csv|None)\\b/,/\\bJoinKind\\.(?:Inner|LeftOuter|RightOuter|FullOuter|LeftAnti|RightAnti)\\b/,/\\bGroupKind\\.(?:Global|Local)\\b/,/\\bExtraValues\\.(?:List|Ignore|Error)\\b/,/\\bJoinAlgorithm\\.(?:Dynamic|PairwiseHash|SortMerge|LeftHash|RightHash|LeftIndex|RightIndex)\\b/,/\\bJoinSide\\.(?:Left|Right)\\b/,/\\bPrecision\\.(?:Double|Decimal)\\b/,/\\bRelativePosition\\.From(?:End|Start)\\b/,/\\bTextEncoding\\.(?:Ascii|BigEndianUnicode|Unicode|Utf8|Utf16|Windows)\\b/,/\\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Int8|Int16|Int32|Int64|Function|List|Logical|None|Number|Record|Table|Text|Time)\\.Type\\b/,/\\bnull\\b/],boolean:/\\b(?:true|false)\\b/,keyword:/\\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\\b/,function:{pattern:/(^|[^#\\w.])(?!\\d)[\\w.]+(?=\\s*\\()/,lookbehind:!0},\"data-type\":{pattern:/\\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time|type)\\b/,alias:\"variable\"},number:{pattern:/\\b0x[\\da-f]+\\b|(?:[+-]?(?:\\b\\d+\\.)?\\b\\d+|[+-]\\.\\d+|(^|[^.])\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,lookbehind:!0},operator:/[-+*\\/&?@^]|<(?:=>?|>)?|>=?|=>?|\\.\\.\\.?/,punctuation:/[,;\\[\\](){}]/},Prism.languages.pq=Prism.languages.powerquery,Prism.languages.mscript=Prism.languages.powerquery;\n!function(e){var i=Prism.languages.powershell={comment:[{pattern:/(^|[^`])<#[\\s\\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/\"(?:`[\\s\\S]|[^`\"])*\"/,greedy:!0,inside:{function:{pattern:/(^|[^`])\\$\\((?:\\$\\([^\\r\\n()]*\\)|(?!\\$\\()[^\\r\\n)])*\\)/,lookbehind:!0,inside:{}}}},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\\[[a-z](?:\\[(?:\\[[^\\]]*]|[^\\[\\]])*]|[^\\[\\]])*]/i,boolean:/\\$(?:true|false)\\b/i,variable:/\\$\\w+\\b/,function:[/\\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\\b/i,/\\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\\b/i],keyword:/\\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\\b/i,operator:{pattern:/(\\W?)(?:!|-(?:eq|ne|gt|ge|lt|le|sh[lr]|not|b?(?:and|x?or)|(?:Not)?(?:Like|Match|Contains|In)|Replace|Join|is(?:Not)?|as)\\b|-[-=]?|\\+[+=]?|[*\\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\\];(),.]/},r=i.string[0].inside;r.boolean=i.boolean,r.variable=i.variable,r.function.inside=i}();\nPrism.languages.processing=Prism.languages.extend(\"clike\",{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/,operator:/<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/}),Prism.languages.insertBefore(\"processing\",\"number\",{constant:/\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,type:{pattern:/\\b(?:boolean|byte|char|color|double|float|int|[A-Z]\\w*)\\b/,alias:\"variable\"}}),Prism.languages.processing.function=/\\w+(?=\\s*\\()/,Prism.languages.processing[\"class-name\"].alias=\"variable\";\nPrism.languages.prolog={comment:[/%.+/,/\\/\\*[\\s\\S]*?\\*\\//],string:{pattern:/([\"'])(?:\\1\\1|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},builtin:/\\b(?:fx|fy|xf[xy]?|yfx?)\\b/,variable:/\\b[A-Z_]\\w*/,function:/\\b[a-z]\\w*(?:(?=\\()|\\/\\d+)/,number:/\\b\\d+(?:\\.\\d*)?/,operator:/[:\\\\=><\\-?*@\\/;+^|!$.]+|\\b(?:is|mod|not|xor)\\b/,punctuation:/[(){}\\[\\],]/};\n!function(t){var n=[\"on\",\"ignoring\",\"group_right\",\"group_left\",\"by\",\"without\"],a=[\"sum\",\"min\",\"max\",\"avg\",\"group\",\"stddev\",\"stdvar\",\"count\",\"count_values\",\"bottomk\",\"topk\",\"quantile\"].concat(n,[\"offset\"]);t.languages.promql={comment:{pattern:/(^[ \\t]*)#.*/m,lookbehind:!0},\"vector-match\":{pattern:new RegExp(\"((?:\"+n.join(\"|\")+\")\\\\s*)\\\\([^)]*\\\\)\"),lookbehind:!0,inside:{\"label-key\":{pattern:/\\b[^,]*\\b/,alias:\"attr-name\"},punctuation:/[(),]/}},\"context-labels\":{pattern:/\\{[^{}]*\\}/,inside:{\"label-key\":{pattern:/\\b[a-z_]\\w*(?=\\s*(?:=~?|![=~]))/,alias:\"attr-name\"},\"label-value\":{pattern:/([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0,alias:\"attr-value\"},punctuation:/\\{|\\}|=~?|![=~]|,/}},\"context-range\":[{pattern:/\\[[\\w\\s:]+\\]/,inside:{punctuation:/\\[|\\]|:/,\"range-duration\":{pattern:/\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,alias:\"number\"}}},{pattern:/(\\boffset\\s+)\\w+/,lookbehind:!0,inside:{\"range-duration\":{pattern:/\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,alias:\"number\"}}}],keyword:new RegExp(\"\\\\b(?:\"+a.join(\"|\")+\")\\\\b\",\"i\"),function:/\\b[a-zA-Z_]\\w*(?=\\s*\\()/i,number:/[-+]?(?:(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[-+]?\\d+)?\\b|\\b(?:0x[0-9a-f]+|nan|inf)\\b)/i,operator:/[\\^*/%+-]|==|!=|<=|<|>=|>|\\b(?:and|unless|or)\\b/i,punctuation:/[{};()`,.[\\]]/}}(Prism);\nPrism.languages.properties={comment:/^[ \\t]*[#!].*$/m,\"attr-value\":{pattern:/(^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+?(?: *[=:] *(?! )| ))(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])+/m,lookbehind:!0},\"attr-name\":/^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+?(?= *[=:] *| )/m,punctuation:/[=:]/};\n!function(e){var s=/\\b(?:double|float|[su]?int(?:32|64)|s?fixed(?:32|64)|bool|string|bytes)\\b/;e.languages.protobuf=e.languages.extend(\"clike\",{\"class-name\":[{pattern:/(\\b(?:enum|extend|message|service)\\s+)[A-Za-z_]\\w*(?=\\s*\\{)/,lookbehind:!0},{pattern:/(\\b(?:rpc\\s+\\w+|returns)\\s*\\(\\s*(?:stream\\s+)?)\\.?[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*(?=\\s*\\))/,lookbehind:!0}],keyword:/\\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\\s+\\w)|service|stream|syntax|to)\\b(?!\\s*=\\s*\\d)/,function:/[a-z_]\\w*(?=\\s*\\()/i}),e.languages.insertBefore(\"protobuf\",\"operator\",{map:{pattern:/\\bmap<\\s*[\\w.]+\\s*,\\s*[\\w.]+\\s*>(?=\\s+[a-z_]\\w*\\s*[=;])/i,alias:\"class-name\",inside:{punctuation:/[<>.,]/,builtin:s}},builtin:s,\"positional-class-name\":{pattern:/(?:\\b|\\B\\.)[a-z_]\\w*(?:\\.[a-z_]\\w*)*(?=\\s+[a-z_]\\w*\\s*[=;])/i,alias:\"class-name\",inside:{punctuation:/\\./}},annotation:{pattern:/(\\[\\s*)[a-z_]\\w*(?=\\s*=)/i,lookbehind:!0}})}(Prism);\n!function(e){e.languages.pug={comment:{pattern:/(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/m,lookbehind:!0},\"multiline-script\":{pattern:/(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,lookbehind:!0,inside:e.languages.javascript},filter:{pattern:/(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,lookbehind:!0,inside:{\"filter-name\":{pattern:/^:[\\w-]+/,alias:\"variable\"}}},\"multiline-plain-text\":{pattern:/(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,lookbehind:!0},markup:{pattern:/(^[\\t ]*)<.+/m,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\\n)[\\t ]*)doctype(?: .+)?/,lookbehind:!0},\"flow-control\":{pattern:/(^[\\t ]*)(?:if|unless|else|case|when|default|each|while)\\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\\b/,inside:{keyword:/\\b(?:each|in)\\b/,punctuation:/,/}},branch:{pattern:/^(?:if|unless|else|case|when|default|while)\\b/,alias:\"keyword\"},rest:e.languages.javascript}},keyword:{pattern:/(^[\\t ]*)(?:block|extends|include|append|prepend)\\b.+/m,lookbehind:!0},mixin:[{pattern:/(^[\\t ]*)mixin .+/m,lookbehind:!0,inside:{keyword:/^mixin/,function:/\\w+(?=\\s*\\(|\\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\\t ]*)\\+.+/m,lookbehind:!0,inside:{name:{pattern:/^\\+\\w+/,alias:\"function\"},rest:e.languages.javascript}}],script:{pattern:/(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]).+/m,lookbehind:!0,inside:e.languages.javascript},\"plain-text\":{pattern:/(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]).+/m,lookbehind:!0},tag:{pattern:/(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,lookbehind:!0,inside:{attributes:[{pattern:/&[^(]+\\([^)]+\\)/,inside:e.languages.javascript},{pattern:/\\([^)]+\\)/,inside:{\"attr-value\":{pattern:/(=\\s*(?!\\s))(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,lookbehind:!0,inside:e.languages.javascript},\"attr-name\":/[\\w-]+(?=\\s*!?=|\\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/,\"attr-id\":/#[\\w\\-]+/,\"attr-class\":/\\.[\\w\\-]+/}},code:[{pattern:/(^[\\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:e.languages.javascript}],punctuation:/[.\\-!=|]+/};for(var t=[{filter:\"atpl\",language:\"twig\"},{filter:\"coffee\",language:\"coffeescript\"},\"ejs\",\"handlebars\",\"less\",\"livescript\",\"markdown\",{filter:\"sass\",language:\"scss\"},\"stylus\"],n={},a=0,i=t.length;a<i;a++){var r=t[a];r=\"string\"==typeof r?{filter:r,language:r}:r,e.languages[r.language]&&(n[\"filter-\"+r.filter]={pattern:RegExp(\"(^([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r(?!\\n))(?:\\\\2[\\t ].+|\\\\s*?(?=\\r?\\n|\\r)))+\".replace(\"{{filter_name}}\",function(){return r.filter}),\"m\"),lookbehind:!0,inside:{\"filter-name\":{pattern:/^:[\\w-]+/,alias:\"variable\"},rest:e.languages[r.language]}})}e.languages.insertBefore(\"pug\",\"filter\",n)}(Prism);\n!function(e){e.languages.puppet={heredoc:[{pattern:/(@\\(\"([^\"\\r\\n\\/):]+)\"(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,lookbehind:!0,alias:\"string\",inside:{punctuation:/(?=\\S).*\\S(?= *$)/}},{pattern:/(@\\(([^\"\\r\\n\\/):]+)(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,lookbehind:!0,greedy:!0,alias:\"string\",inside:{punctuation:/(?=\\S).*\\S(?= *$)/}},{pattern:/@\\(\"?(?:[^\"\\r\\n\\/):]+)\"?(?:\\/[nrts$uL]*)?\\)/,alias:\"string\",inside:{punctuation:{pattern:/(\\().+?(?=\\))/,lookbehind:!0}}}],\"multiline-comment\":{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0,greedy:!0,alias:\"comment\"},regex:{pattern:/((?:\\bnode\\s+|[~=\\(\\[\\{,]\\s*|[=+]>\\s*|^\\s*))\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/(?:[imx]+\\b|\\B)/,lookbehind:!0,greedy:!0,inside:{\"extended-regex\":{pattern:/^\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/[im]*x[im]*$/,inside:{comment:/#.*/}}}},comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0,greedy:!0},string:{pattern:/([\"'])(?:\\$\\{(?:[^'\"}]|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}|\\$(?!\\{)|(?!\\1)[^\\\\$]|\\\\[\\s\\S])*\\1/,greedy:!0,inside:{\"double-quoted\":{pattern:/^\"[\\s\\S]*\"$/,inside:{}}}},variable:{pattern:/\\$(?:::)?\\w+(?:::\\w+)*/,inside:{punctuation:/::/}},\"attr-name\":/(?:\\w+|\\*)(?=\\s*=>)/,function:[{pattern:/(\\.)(?!\\d)\\w+/,lookbehind:!0},/\\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\\b|\\b(?!\\d)\\w+(?=\\()/],number:/\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d+)?(?:e-?\\d+)?)\\b/i,boolean:/\\b(?:true|false)\\b/,keyword:/\\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\\b/,datatype:{pattern:/\\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\\b/,alias:\"symbol\"},operator:/=[=~>]?|![=~]?|<(?:<\\|?|[=~|-])?|>[>=]?|->?|~>|\\|>?>?|[*\\/%+?]|\\b(?:and|in|or)\\b/,punctuation:/[\\[\\]{}().,;]|:+/};var n=[{pattern:/(^|[^\\\\])\\$\\{(?:[^'\"{}]|\\{[^}]*\\}|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}/,lookbehind:!0,inside:{\"short-variable\":{pattern:/(^\\$\\{)(?!\\w+\\()(?:::)?\\w+(?:::\\w+)*/,lookbehind:!0,alias:\"variable\",inside:{punctuation:/::/}},delimiter:{pattern:/^\\$/,alias:\"variable\"},rest:e.languages.puppet}},{pattern:/(^|[^\\\\])\\$(?:::)?\\w+(?:::\\w+)*/,lookbehind:!0,alias:\"variable\",inside:{punctuation:/::/}}];e.languages.puppet.heredoc[0].inside.interpolation=n,e.languages.puppet.string.inside[\"double-quoted\"].inside.interpolation=n}(Prism);\n!function(r){r.languages.pure={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0},/#!.+/],\"inline-lang\":{pattern:/%<[\\s\\S]+?%>/,greedy:!0,inside:{lang:{pattern:/(^%< *)-\\*-.+?-\\*-/,lookbehind:!0,alias:\"comment\"},delimiter:{pattern:/^%<.*|%>$/,alias:\"punctuation\"}}},string:{pattern:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,greedy:!0},number:{pattern:/((?:\\.\\.)?)(?:\\b(?:inf|nan)\\b|\\b0x[\\da-f]+|(?:\\b(?:0b)?\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[+-]?\\d+)?L?)/i,lookbehind:!0},keyword:/\\b(?:ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|NULL|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\\b/,function:/\\b(?:abs|add_(?:(?:fundef|interface|macdef|typedef)(?:_at)?|addr|constdef|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_(?:matrix|pointer)|byte_c?string(?:_pointer)?|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|short|sentry|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\\b/,special:{pattern:/\\b__[a-z]+__\\b/i,alias:\"builtin\"},operator:/(?:[!\"#$%&'*+,\\-.\\/:<=>?@\\\\^`|~\\u00a1-\\u00bf\\u00d7-\\u00f7\\u20d0-\\u2bff]|\\b_+\\b)+|\\b(?:and|div|mod|not|or)\\b/,punctuation:/[(){}\\[\\];,|]/};[\"c\",{lang:\"c++\",alias:\"cpp\"},\"fortran\"].forEach(function(e){var t=e;if(\"string\"!=typeof e&&(t=e.alias,e=e.lang),r.languages[t]){var a={};a[\"inline-lang-\"+t]={pattern:RegExp(\"%< *-\\\\*- *{lang}\\\\d* *-\\\\*-[^]+?%>\".replace(\"{lang}\",e.replace(/([.+*?\\/\\\\(){}\\[\\]])/g,\"\\\\$1\")),\"i\"),inside:r.util.clone(r.languages.pure[\"inline-lang\"].inside)},a[\"inline-lang-\"+t].inside.rest=r.util.clone(r.languages[t]),r.languages.insertBefore(\"pure\",\"inline-lang\",a)}}),r.languages.c&&(r.languages.pure[\"inline-lang\"].inside.rest=r.util.clone(r.languages.c))}(Prism);\nPrism.languages.purebasic=Prism.languages.extend(\"clike\",{comment:/;.*/,keyword:/\\b(?:declarecdll|declaredll|compilerselect|compilercase|compilerdefault|compilerendselect|compilererror|enableexplicit|disableexplicit|not|and|or|xor|calldebugger|debuglevel|enabledebugger|disabledebugger|restore|read|includepath|includebinary|threaded|runtime|with|endwith|structureunion|endstructureunion|align|newlist|newmap|interface|endinterface|extends|enumeration|endenumeration|swap|foreach|continue|fakereturn|goto|gosub|return|break|module|endmodule|declaremodule|enddeclaremodule|declare|declarec|prototype|prototypec|enableasm|disableasm|dim|redim|data|datasection|enddatasection|to|procedurereturn|debug|default|case|select|endselect|as|import|endimport|importc|compilerif|compilerelse|compilerendif|compilerelseif|end|structure|endstructure|while|wend|for|next|step|if|else|elseif|endif|repeat|until|procedure|proceduredll|procedurec|procedurecdll|endprocedure|protected|shared|static|global|define|includefile|xincludefile|macro|endmacro)\\b/i,function:/\\b\\w+(?:\\.\\w+)?\\s*(?=\\()/,number:/(?:\\$[\\da-f]+|\\b-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?)\\b/i,operator:/(?:@\\*?|\\?|\\*)\\w+|-[>-]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|?\\||[~^%?*/@]/}),Prism.languages.insertBefore(\"purebasic\",\"keyword\",{tag:/#\\w+/,asm:{pattern:/(^\\s*)!.*/m,lookbehind:!0,alias:\"tag\",inside:{comment:/;.*/,string:{pattern:/([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"label-reference-anonymous\":{pattern:/(\\s*!\\s*j[a-z]+\\s+)@[fb]/i,lookbehind:!0,alias:\"fasm-label\"},\"label-reference-addressed\":{pattern:/(\\s*!\\s*j[a-z]+\\s+)[A-Z._?$@][\\w.?$@~#]*/i,lookbehind:!0,alias:\"fasm-label\"},function:{pattern:/^(\\s*!\\s*)[\\da-z]+(?=\\s|$)/im,lookbehind:!0},\"function-inline\":{pattern:/(\\s*:\\s*)[\\da-z]+(?=\\s)/i,lookbehind:!0,alias:\"function\"},label:{pattern:/^(\\s*!\\s*)[A-Za-z._?$@][\\w.?$@~#]*(?=:)/m,lookbehind:!0,alias:\"fasm-label\"},keyword:[/(?:extern|global)[^;\\r\\n]*/i,/(?:CPU|FLOAT|DEFAULT).*/],register:/\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|sp|si|di)|[cdefgs]s|mm\\d+)\\b/i,number:/(?:\\b|-|(?=\\$))(?:0[hx](?:[\\da-f]*\\.)?[\\da-f]+(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,operator:/[\\[\\]*+\\-/%<>=&|$!,.:]/}}}),delete Prism.languages.purebasic[\"class-name\"],delete Prism.languages.purebasic.boolean,Prism.languages.pbfasm=Prism.languages.purebasic;\nPrism.languages.purescript=Prism.languages.extend(\"haskell\",{keyword:/\\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\"import-statement\":{pattern:/(^\\s*)import\\s+[A-Z][\\w']*(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+[A-Z][\\w']*(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,lookbehind:!0,inside:{keyword:/\\b(?:import|as|hiding)\\b/}},builtin:/\\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\\b/}),Prism.languages.purs=Prism.languages.purescript;\nPrism.languages.python={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0},\"string-interpolation\":{pattern:/(?:f|rf|fr)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{\"format-spec\":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},\"conversion-option\":{pattern:/![sra](?=[:}]$)/,alias:\"punctuation\"},rest:null}},string:/[\\s\\S]+/}},\"triple-quoted-string\":{pattern:/(?:[rub]|rb|br)?(\"\"\"|''')[\\s\\S]*?\\1/i,greedy:!0,alias:\"string\"},string:{pattern:/(?:[rub]|rb|br)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,greedy:!0},function:{pattern:/((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,lookbehind:!0},\"class-name\":{pattern:/(\\bclass\\s+)\\w+/i,lookbehind:!0},decorator:{pattern:/(^\\s*)@\\w+(?:\\.\\w+)*/im,lookbehind:!0,alias:[\"annotation\",\"punctuation\"],inside:{punctuation:/\\./}},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/,builtin:/\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,boolean:/\\b(?:True|False|None)\\b/,number:/(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,operator:/[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\\];(),.:]/},Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;\nPrism.languages.q={string:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,comment:[{pattern:/([\\t )\\]}])\\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|\\r?\\n|\\r)\\/[\\t ]*(?:(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r(?!\\n)))*?(?:\\\\(?=[\\t ]*(?:\\r?\\n|\\r))|$)|\\S.*)/,lookbehind:!0,greedy:!0},{pattern:/^\\\\[\\t ]*(?:\\r?\\n|\\r)[\\s\\S]+/m,greedy:!0},{pattern:/^#!.+/m,greedy:!0}],symbol:/`(?::\\S+|[\\w.]*)/,datetime:{pattern:/0N[mdzuvt]|0W[dtz]|\\d{4}\\.\\d\\d(?:m|\\.\\d\\d(?:T(?:\\d\\d(?::\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?)?)?)?[dz]?)|\\d\\d:\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?[uvt]?/,alias:\"number\"},number:/\\b(?![01]:)(?:0[wn]|0W[hj]?|0N[hje]?|0x[\\da-fA-F]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?[hjfeb]?)/,keyword:/\\\\\\w+\\b|\\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\\b/,adverb:{pattern:/['\\/\\\\]:?|\\beach\\b/,alias:\"function\"},verb:{pattern:/(?:\\B\\.\\B|\\b[01]:|<[=>]?|>=?|[:+\\-*%,!?~=|$&#@^]):?|\\b_\\b:?/,alias:\"operator\"},punctuation:/[(){}\\[\\];.]/};\n!function(e){for(var r=\"(?:[^\\\\\\\\()[\\\\]{}\\\"'/]|<string>|/(?![*/])|<comment>|\\\\(<expr>*\\\\)|\\\\[<expr>*\\\\]|\\\\{<expr>*\\\\}|\\\\\\\\[^])\".replace(/<string>/g,function(){return\"\\\"(?:\\\\\\\\.|[^\\\\\\\\\\\"\\r\\n])*\\\"|'(?:\\\\\\\\.|[^\\\\\\\\'\\r\\n])*'\"}).replace(/<comment>/g,function(){return\"//.*(?!.)|/\\\\*(?:[^*]|\\\\*(?!/))*\\\\*/\"}),n=0;n<2;n++)r=r.replace(/<expr>/g,function(){return r});r=r.replace(/<expr>/g,\"[^\\\\s\\\\S]\"),e.languages.qml={comment:{pattern:/\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,greedy:!0},\"javascript-function\":{pattern:RegExp(\"((?:^|;)[ \\t]*)function\\\\s+(?!\\\\s)[_$a-zA-Z\\\\xA0-\\\\uFFFF](?:(?!\\\\s)[$\\\\w\\\\xA0-\\\\uFFFF])*\\\\s*\\\\(<js>*\\\\)\\\\s*\\\\{<js>*\\\\}\".replace(/<js>/g,function(){return r}),\"m\"),lookbehind:!0,greedy:!0,alias:\"language-javascript\",inside:e.languages.javascript},\"class-name\":{pattern:/((?:^|[:;])[ \\t]*)(?!\\d)\\w+(?=[ \\t]*\\{|[ \\t]+on\\b)/m,lookbehind:!0},property:[{pattern:/((?:^|[;{])[ \\t]*)(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,lookbehind:!0},{pattern:/((?:^|[;{])[ \\t]*)property[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,lookbehind:!0,inside:{keyword:/^property/,property:/\\w+(?:\\.\\w+)*/}}],\"javascript-expression\":{pattern:RegExp(\"(:[ \\t]*)(?![\\\\s;}[])(?:(?!$|[;}])<js>)+\".replace(/<js>/g,function(){return r}),\"m\"),lookbehind:!0,greedy:!0,alias:\"language-javascript\",inside:e.languages.javascript},string:/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,keyword:/\\b(?:as|import|on)\\b/,punctuation:/[{}[\\]:;,]/}}(Prism);\nPrism.languages.qore=Prism.languages.extend(\"clike\",{comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:\\/\\/|#).*)/,lookbehind:!0},string:{pattern:/(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,greedy:!0},keyword:/\\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:int|float|number|bool|string|date|list)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\\b/,boolean:/\\b(?:true|false)\\b/i,function:/\\$?\\b(?!\\d)\\w+(?=\\()/,number:/\\b(?:0b[01]+|0x(?:[\\da-f]*\\.)?[\\da-fp\\-]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e\\d+)?[df]|(?:\\d+(?:\\.\\d+)?|\\.\\d+))\\b/i,operator:{pattern:/(^|[^.])(?:\\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\\|[|=]?|[*\\/%^]=?|[~?])/,lookbehind:!0},variable:/\\$(?!\\d)\\w+\\b/});\nPrism.languages.r={comment:/#.*/,string:{pattern:/(['\"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"percent-operator\":{pattern:/%[^%\\s]*%/,alias:\"operator\"},boolean:/\\b(?:TRUE|FALSE)\\b/,ellipsis:/\\.\\.(?:\\.|\\d+)/,number:[/\\b(?:NaN|Inf)\\b/,/(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/],keyword:/\\b(?:if|else|repeat|while|function|for|in|next|break|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_)\\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,punctuation:/[(){}\\[\\],;]/};\nPrism.languages.racket=Prism.languages.extend(\"scheme\",{\"lambda-parameter\":{pattern:/(\\(lambda\\s+\\()[^()'\\s]+/,lookbehind:!0}}),Prism.languages.DFS(Prism.languages.racket,function(e,a){if(\"RegExp\"===Prism.util.type(a)){var r=a.source.replace(/\\\\(.)|\\[\\^?((?:\\\\.|[^\\\\\\]])*)\\]/g,function(e,a,r){if(a){if(\"(\"===a)return\"[([]\";if(\")\"===a)return\"[)\\\\]]\"}return r?(\"^\"===e[1]?\"[^\":\"[\")+r.replace(/\\\\(.)|[()]/g,function(e,a){return\"(\"===e||\"(\"===a?\"([\":\")\"===e||\")\"===a?\")\\\\]\":e})+\"]\":e});this[e]=RegExp(r,a.flags)}}),Prism.languages.insertBefore(\"racket\",\"string\",{lang:{pattern:/^#lang.+/m,greedy:!0,alias:\"keyword\"}}),Prism.languages.rkt=Prism.languages.racket;\n!function(o){var t=o.util.clone(o.languages.javascript),e=\"(?:\\\\{<S>*\\\\.{3}(?:[^{}]|<BRACES>)*\\\\})\";function n(t,n){return t=t.replace(/<S>/g,function(){return\"(?:\\\\s|//.*(?!.)|/\\\\*(?:[^*]|\\\\*(?!/))\\\\*/)\"}).replace(/<BRACES>/g,function(){return\"(?:\\\\{(?:\\\\{(?:\\\\{[^{}]*\\\\}|[^{}])*\\\\}|[^{}])*\\\\})\"}).replace(/<SPREAD>/g,function(){return e}),RegExp(t,n)}e=n(e).source,o.languages.jsx=o.languages.extend(\"markup\",t),o.languages.jsx.tag.pattern=n(\"</?(?:[\\\\w.:-]+(?:<S>+(?:[\\\\w.:$-]+(?:=(?:\\\"(?:\\\\\\\\[^]|[^\\\\\\\\\\\"])*\\\"|'(?:\\\\\\\\[^]|[^\\\\\\\\'])*'|[^\\\\s{'\\\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*/?)?>\"),o.languages.jsx.tag.inside.tag.pattern=/^<\\/?[^\\s>\\/]*/i,o.languages.jsx.tag.inside[\"attr-value\"].pattern=/=(?!\\{)(?:\"(?:\\\\[^]|[^\\\\\"])*\"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s'\">]+)/i,o.languages.jsx.tag.inside.tag.inside[\"class-name\"]=/^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/,o.languages.jsx.tag.inside.comment=t.comment,o.languages.insertBefore(\"inside\",\"attr-name\",{spread:{pattern:n(\"<SPREAD>\"),inside:o.languages.jsx}},o.languages.jsx.tag),o.languages.insertBefore(\"inside\",\"attr-value\",{script:{pattern:n(\"=<BRACES>\"),inside:{\"script-punctuation\":{pattern:/^=(?={)/,alias:\"punctuation\"},rest:o.languages.jsx},alias:\"language-javascript\"}},o.languages.jsx.tag);var i=function(t){return t?\"string\"==typeof t?t:\"string\"==typeof t.content?t.content:t.content.map(i).join(\"\"):\"\"},r=function(t){for(var n=[],e=0;e<t.length;e++){var a=t[e],g=!1;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===i(a.content[0].content[1])&&n.pop():\"/>\"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):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--:g=!0),(g||\"string\"==typeof a)&&0<n.length&&0===n[n.length-1].openedBraces){var s=i(a);e<t.length-1&&(\"string\"==typeof t[e+1]||\"plain-text\"===t[e+1].type)&&(s+=i(t[e+1]),t.splice(e+1,1)),0<e&&(\"string\"==typeof t[e-1]||\"plain-text\"===t[e-1].type)&&(s=i(t[e-1])+s,t.splice(e-1,1),e--),t[e]=new o.Token(\"plain-text\",s,null,s)}a.content&&\"string\"!=typeof a.content&&r(a.content)}};o.hooks.add(\"after-tokenize\",function(t){\"jsx\"!==t.language&&\"tsx\"!==t.language||r(t.tokens)})}(Prism);\n!function(a){var e=a.util.clone(a.languages.typescript);a.languages.tsx=a.languages.extend(\"jsx\",e);var t=a.languages.tsx.tag;t.pattern=RegExp(\"(^|[^\\\\w$]|(?=</))(?:\"+t.pattern.source+\")\",t.pattern.flags),t.lookbehind=!0}(Prism);\nPrism.languages.reason=Prism.languages.extend(\"clike\",{string:{pattern:/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,greedy:!0},\"class-name\":/\\b[A-Z]\\w*/,keyword:/\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/,operator:/\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:mod|land|lor|lxor|lsl|lsr|asr)\\b/}),Prism.languages.insertBefore(\"reason\",\"class-name\",{character:{pattern:/'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,alias:\"string\"},constructor:{pattern:/\\b[A-Z]\\w*\\b(?!\\s*\\.)/,alias:\"variable\"},label:{pattern:/\\b[a-z]\\w*(?=::)/,alias:\"symbol\"}}),delete Prism.languages.reason.function;\n!function(a){var e={pattern:/\\\\[\\\\(){}[\\]^$+*?|.]/,alias:\"escape\"},n=/\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|c[a-zA-Z]|0[0-7]{0,2}|[123][0-7]{2}|.)/,t=\"(?:[^\\\\\\\\-]|\"+n.source+\")\",s=RegExp(t+\"-\"+t),i={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:\"variable\"};a.languages.regex={charset:{pattern:/((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/,lookbehind:!0,inside:{\"charset-negation\":{pattern:/(^\\[)\\^/,lookbehind:!0,alias:\"operator\"},\"charset-punctuation\":{pattern:/^\\[|\\]$/,alias:\"punctuation\"},range:{pattern:s,inside:{escape:n,\"range-punctuation\":{pattern:/-/,alias:\"operator\"}}},\"special-escape\":e,charclass:{pattern:/\\\\[wsd]|\\\\p{[^{}]+}/i,alias:\"class-name\"},escape:n}},\"special-escape\":e,charclass:{pattern:/\\.|\\\\[wsd]|\\\\p{[^{}]+}/i,alias:\"class-name\"},backreference:[{pattern:/\\\\(?![123][0-7]{2})[1-9]/,alias:\"keyword\"},{pattern:/\\\\k<[^<>']+>/,alias:\"keyword\",inside:{\"group-name\":i}}],anchor:{pattern:/[$^]|\\\\[ABbGZz]/,alias:\"function\"},escape:n,group:[{pattern:/\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:\"punctuation\",inside:{\"group-name\":i}},{pattern:/\\)/,alias:\"punctuation\"}],quantifier:{pattern:/(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/,alias:\"number\"},alternation:{pattern:/\\|/,alias:\"keyword\"}}}(Prism);\nPrism.languages.renpy={comment:{pattern:/(^|[^\\\\])#.+/,lookbehind:!0},string:{pattern:/(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2|(?:^#?(?:(?:[0-9a-fA-F]{2}){3}|(?:[0-9a-fA-F]){3})$)/m,greedy:!0},function:/[a-z_]\\w*(?=\\()/i,property:/\\b(?:insensitive|idle|hover|selected_idle|selected_hover|background|position|alt|xpos|ypos|pos|xanchor|yanchor|anchor|xalign|yalign|align|xcenter|ycenter|xofsset|yoffset|ymaximum|maximum|xmaximum|xminimum|yminimum|minimum|xsize|ysizexysize|xfill|yfill|area|antialias|black_color|bold|caret|color|first_indent|font|size|italic|justify|kerning|language|layout|line_leading|line_overlap_split|line_spacing|min_width|newline_indent|outlines|rest_indent|ruby_style|slow_cps|slow_cps_multiplier|strikethrough|text_align|underline|hyperlink_functions|vertical|hinting|foreground|left_margin|xmargin|top_margin|bottom_margin|ymargin|left_padding|right_padding|xpadding|top_padding|bottom_padding|ypadding|size_group|child|hover_sound|activate_sound|mouse|focus_mask|keyboard_focus|bar_vertical|bar_invert|bar_resizing|left_gutter|right_gutter|top_gutter|bottom_gutter|left_bar|right_bar|top_bar|bottom_bar|thumb|thumb_shadow|thumb_offset|unscrollable|spacing|first_spacing|box_reverse|box_wrap|order_reverse|fit_first|ysize|thumbnail_width|thumbnail_height|help|text_ypos|text_xpos|idle_color|hover_color|selected_idle_color|selected_hover_color|insensitive_color|alpha|insensitive_background|hover_background|zorder|value|width|xadjustment|xanchoraround|xaround|xinitial|xoffset|xzoom|yadjustment|yanchoraround|yaround|yinitial|yzoom|zoom|ground|height|text_style|text_y_fudge|selected_insensitive|has_sound|has_music|has_voice|focus|hovered|image_style|length|minwidth|mousewheel|offset|prefix|radius|range|right_margin|rotate|rotate_pad|developer|screen_width|screen_height|window_title|name|version|windows_icon|default_fullscreen|default_text_cps|default_afm_time|main_menu_music|sample_sound|enter_sound|exit_sound|save_directory|enter_transition|exit_transition|intra_transition|main_game_transition|game_main_transition|end_splash_transition|end_game_transition|after_load_transition|window_show_transition|window_hide_transition|adv_nvl_transition|nvl_adv_transition|enter_yesno_transition|exit_yesno_transition|enter_replay_transition|exit_replay_transition|say_attribute_transition|directory_name|executable_name|include_update|window_icon|modal|google_play_key|google_play_salt|drag_name|drag_handle|draggable|dragged|droppable|dropped|narrator_menu|action|default_afm_enable|version_name|version_tuple|inside|fadeout|fadein|layers|layer_clipping|linear|scrollbars|side_xpos|side_ypos|side_spacing|edgescroll|drag_joined|drag_raise|drop_shadow|drop_shadow_color|subpixel|easein|easeout|time|crop|auto|update|get_installed_packages|can_update|UpdateVersion|Update|overlay_functions|translations|window_left_padding|show_side_image|show_two_window)\\b/,tag:/\\b(?:label|image|menu|[hv]box|frame|text|imagemap|imagebutton|bar|vbar|screen|textbutton|buttoscreenn|fixed|grid|input|key|mousearea|side|timer|viewport|window|hotspot|hotbar|self|button|drag|draggroup|tag|mm_menu_frame|nvl|block|parallel)\\b|\\$/,keyword:/\\b(?:as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|yield|adjustment|alignaround|allow|angle|around|box_layout|cache|changed|child_size|clicked|clipping|corner1|corner2|default|delay|exclude|scope|slow|slow_abortable|slow_done|sound|style_group|substitute|suffix|transform_anchor|transpose|unhovered|config|theme|mm_root|gm_root|rounded_window|build|disabled_text|disabled|widget_selected|widget_text|widget_hover|widget|updater|behind|call|expression|hide|init|jump|onlayer|python|renpy|scene|set|show|transform|play|queue|stop|pause|define|window|repeat|contains|choice|on|function|event|animation|clockwise|counterclockwise|circles|knot|null|None|random|has|add|use|fade|dissolve|style|store|id|voice|center|left|right|less_rounded|music|movie|clear|persistent|ui)\\b/,boolean:/\\b(?:[Tt]rue|[Ff]alse)\\b/,number:/(?:\\b(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?)|\\B\\.\\d+)(?:e[+-]?\\d+)?j?/i,operator:/[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:or|and|not|with|at)\\b/,punctuation:/[{}[\\];(),.:]/},Prism.languages.rpy=Prism.languages.renpy;\nPrism.languages.rest={table:[{pattern:/(\\s*)(?:\\+[=-]+)+\\+(?:\\r?\\n|\\r)(?:\\1[+|].+[+|](?:\\r?\\n|\\r))+\\1(?:\\+[=-]+)+\\+/,lookbehind:!0,inside:{punctuation:/\\||(?:\\+[=-]+)+\\+/}},{pattern:/(\\s*)=+ [ =]*=(?:(?:\\r?\\n|\\r)\\1.+)+(?:\\r?\\n|\\r)\\1=+ [ =]*=(?=(?:\\r?\\n|\\r){2}|\\s*$)/,lookbehind:!0,inside:{punctuation:/[=-]+/}}],\"substitution-def\":{pattern:/(^\\s*\\.\\. )\\|(?:[^|\\s](?:[^|]*[^|\\s])?)\\| [^:]+::/m,lookbehind:!0,inside:{substitution:{pattern:/^\\|(?:[^|\\s]|[^|\\s][^|]*[^|\\s])\\|/,alias:\"attr-value\",inside:{punctuation:/^\\||\\|$/}},directive:{pattern:/( +)(?! )[^:]+::/,lookbehind:!0,alias:\"function\",inside:{punctuation:/::$/}}}},\"link-target\":[{pattern:/(^\\s*\\.\\. )\\[[^\\]]+\\]/m,lookbehind:!0,alias:\"string\",inside:{punctuation:/^\\[|\\]$/}},{pattern:/(^\\s*\\.\\. )_(?:`[^`]+`|(?:[^:\\\\]|\\\\.)+):/m,lookbehind:!0,alias:\"string\",inside:{punctuation:/^_|:$/}}],directive:{pattern:/(^\\s*\\.\\. )[^:]+::/m,lookbehind:!0,alias:\"function\",inside:{punctuation:/::$/}},comment:{pattern:/(^\\s*\\.\\.)(?:(?: .+)?(?:(?:\\r?\\n|\\r).+)+| .+)(?=(?:\\r?\\n|\\r){2}|$)/m,lookbehind:!0},title:[{pattern:/^(([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+)(?:\\r?\\n|\\r).+(?:\\r?\\n|\\r)\\1$/m,inside:{punctuation:/^[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+|[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,important:/.+/}},{pattern:/(^|(?:\\r?\\n|\\r){2}).+(?:\\r?\\n|\\r)([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+(?=\\r?\\n|\\r|$)/,lookbehind:!0,inside:{punctuation:/[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,important:/.+/}}],hr:{pattern:/((?:\\r?\\n|\\r){2})([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2{3,}(?=(?:\\r?\\n|\\r){2})/,lookbehind:!0,alias:\"punctuation\"},field:{pattern:/(^\\s*):[^:\\r\\n]+:(?= )/m,lookbehind:!0,alias:\"attr-name\"},\"command-line-option\":{pattern:/(^\\s*)(?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?)*(?=(?:\\r?\\n|\\r)? {2,}\\S)/im,lookbehind:!0,alias:\"symbol\"},\"literal-block\":{pattern:/::(?:\\r?\\n|\\r){2}([ \\t]+)(?![ \\t]).+(?:(?:\\r?\\n|\\r)\\1.+)*/,inside:{\"literal-block-punctuation\":{pattern:/^::/,alias:\"punctuation\"}}},\"quoted-literal-block\":{pattern:/::(?:\\r?\\n|\\r){2}([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]).*(?:(?:\\r?\\n|\\r)\\1.*)*/,inside:{\"literal-block-punctuation\":{pattern:/^(?:::|([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\1*)/m,alias:\"punctuation\"}}},\"list-bullet\":{pattern:/(^\\s*)(?:[*+\\-•‣⁃]|\\(?(?:\\d+|[a-z]|[ivxdclm]+)\\)|(?:\\d+|[a-z]|[ivxdclm]+)\\.)(?= )/im,lookbehind:!0,alias:\"punctuation\"},\"doctest-block\":{pattern:/(^\\s*)>>> .+(?:(?:\\r?\\n|\\r).+)*/m,lookbehind:!0,inside:{punctuation:/^>>>/}},inline:[{pattern:/(^|[\\s\\-:\\/'\"<(\\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\\*\\*?|``?|\\|)(?!\\s).*?[^\\s]\\2(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$))/m,lookbehind:!0,inside:{bold:{pattern:/(^\\*\\*).+(?=\\*\\*$)/,lookbehind:!0},italic:{pattern:/(^\\*).+(?=\\*$)/,lookbehind:!0},\"inline-literal\":{pattern:/(^``).+(?=``$)/,lookbehind:!0,alias:\"symbol\"},role:{pattern:/^:[^:]+:|:[^:]+:$/,alias:\"function\",inside:{punctuation:/^:|:$/}},\"interpreted-text\":{pattern:/(^`).+(?=`$)/,lookbehind:!0,alias:\"attr-value\"},substitution:{pattern:/(^\\|).+(?=\\|$)/,lookbehind:!0,alias:\"attr-value\"},punctuation:/\\*\\*?|``?|\\|/}}],link:[{pattern:/\\[[^\\]]+\\]_(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/,alias:\"string\",inside:{punctuation:/^\\[|\\]_$/}},{pattern:/(?:\\b[a-z\\d]+(?:[_.:+][a-z\\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/i,alias:\"string\",inside:{punctuation:/^_?`|`$|`?_?_$/}}],punctuation:{pattern:/(^\\s*)(?:\\|(?= |$)|(?:---?|—|\\.\\.|__)(?= )|\\.\\.$)/m,lookbehind:!0}};\nPrism.languages.rip={comment:/#.*/,keyword:/(?:=>|->)|\\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\\b/,builtin:/@|\\bSystem\\b/,boolean:/\\b(?:true|false)\\b/,date:/\\b\\d{4}-\\d{2}-\\d{2}\\b/,time:/\\b\\d{2}:\\d{2}:\\d{2}\\b/,datetime:/\\b\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\b/,character:/\\B`[^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]\\b/,regex:{pattern:/(^|[^/])\\/(?!\\/)(?:\\[[^\\n\\r\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/(?=\\s*(?:$|[\\r\\n,.;})]))/,lookbehind:!0,greedy:!0},symbol:/:[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/,string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},number:/[+-]?\\b(?:\\d+\\.\\d+|\\d+)\\b/,punctuation:/(?:\\.{2,3})|[`,.:;=\\/\\\\()<>\\[\\]{}]/,reference:/[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/};\nPrism.languages.roboconf={comment:/#.*/,keyword:{pattern:/(^|\\s)(?:(?:facet|instance of)(?=[ \\t]+[\\w-]+[ \\t]*\\{)|(?:external|import)\\b)/,lookbehind:!0},component:{pattern:/[\\w-]+(?=[ \\t]*\\{)/,alias:\"variable\"},property:/[\\w.-]+(?=[ \\t]*:)/,value:{pattern:/(=[ \\t]*(?![ \\t]))[^,;]+/,lookbehind:!0,alias:\"attr-value\"},optional:{pattern:/\\(optional\\)/,alias:\"builtin\"},wildcard:{pattern:/(\\.)\\*/,lookbehind:!0,alias:\"operator\"},punctuation:/[{},.;:=]/};\n!function(t){var r={pattern:/(^[ \\t]*| {2}|\\t)#.*/m,lookbehind:!0,greedy:!0},o={pattern:/((?:^|[^\\\\])(?:\\\\{2})*)[$@&%]\\{(?:[^{}\\r\\n]|\\{[^{}\\r\\n]*\\})*\\}/,lookbehind:!0,inside:{punctuation:/^[$@&%]\\{|\\}$/}};function n(t,n){var e={\"section-header\":{pattern:/^ ?\\*{3}.+?\\*{3}/,alias:\"keyword\"}};for(var a in n)e[a]=n[a];return e.tag={pattern:/([\\r\\n](?:  |\\t)[ \\t]*)\\[[-\\w]+\\]/,lookbehind:!0,inside:{punctuation:/\\[|\\]/}},e.variable=o,e.comment=r,{pattern:RegExp(\"^ ?\\\\*{3}[ \\t]*<name>[ \\t]*\\\\*{3}(?:.|[\\r\\n](?!\\\\*{3}))*\".replace(/<name>/g,function(){return t}),\"im\"),alias:\"section\",inside:e}}var e={pattern:/(\\[Documentation\\](?:  |\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,lookbehind:!0,alias:\"string\"},a={pattern:/([\\r\\n] ?)(?!#)(?:\\S(?:[ \\t]\\S)*)+/,lookbehind:!0,alias:\"function\",inside:{variable:o}},i={pattern:/([\\r\\n](?:  |\\t)[ \\t]*)(?!\\[|\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,lookbehind:!0,inside:{variable:o}};t.languages.robotframework={settings:n(\"Settings\",{documentation:{pattern:/([\\r\\n] ?Documentation(?:  |\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,lookbehind:!0,alias:\"string\"},property:{pattern:/([\\r\\n] ?)(?!\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,lookbehind:!0}}),variables:n(\"Variables\"),\"test-cases\":n(\"Test Cases\",{\"test-name\":a,documentation:e,property:i}),keywords:n(\"Keywords\",{\"keyword-name\":a,documentation:e,property:i}),tasks:n(\"Tasks\",{\"task-name\":a,documentation:e,property:i}),comment:r},t.languages.robot=t.languages.robotframework}(Prism);\n!function(e){for(var a=\"/\\\\*(?:[^*/]|\\\\*(?!/)|/(?!\\\\*)|<self>)*\\\\*/\",t=0;t<2;t++)a=a.replace(/<self>/g,function(){return a});a=a.replace(/<self>/g,function(){return\"[^\\\\s\\\\S]\"}),e.languages.rust={comment:[{pattern:RegExp(\"(^|[^\\\\\\\\])\"+a),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,greedy:!0},char:{pattern:/b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,greedy:!0,alias:\"string\"},attribute:{pattern:/#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,greedy:!0,alias:\"attr-name\",inside:{string:null}},\"closure-params\":{pattern:/([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,lookbehind:!0,greedy:!0,inside:{\"closure-punctuation\":{pattern:/^\\||\\|$/,alias:\"punctuation\"},rest:null}},\"lifetime-annotation\":{pattern:/'\\w+/,alias:\"symbol\"},\"fragment-specifier\":{pattern:/(\\$\\w+:)[a-z]+/,lookbehind:!0,alias:\"punctuation\"},variable:/\\$\\w+/,\"function-definition\":{pattern:/(\\bfn\\s+)\\w+/,lookbehind:!0,alias:\"function\"},\"type-definition\":{pattern:/(\\b(?:enum|struct|union)\\s+)\\w+/,lookbehind:!0,alias:\"class-name\"},\"module-declaration\":[{pattern:/(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,lookbehind:!0,alias:\"namespace\"},{pattern:/(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,lookbehind:!0,alias:\"namespace\",inside:{punctuation:/::/}}],keyword:[/\\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,/\\b(?:[ui](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\\b/],function:/\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,macro:{pattern:/\\w+!/,alias:\"property\"},constant:/\\b[A-Z_][A-Z_\\d]+\\b/,\"class-name\":/\\b[A-Z]\\w*\\b/,namespace:{pattern:/(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,inside:{punctuation:/::/}},number:/\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\\b/,boolean:/\\b(?:false|true)\\b/,punctuation:/->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,operator:/[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[\"closure-params\"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism);\n!function(e){var t=\"(?:\\\"(?:\\\"\\\"|[^\\\"])*\\\"(?!\\\")|'(?:''|[^'])*'(?!'))\",a=/\\b(?:\\d[\\da-f]*x|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,n={pattern:RegExp(t+\"[bx]\"),alias:\"number\"},i={pattern:/&[a-z_][a-z_0-9]*/i},r={pattern:/((?:^|\\s|=|\\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMGLOBL|SYMLOCAL|SYMEXIST|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\\b/i,lookbehind:!0,alias:\"keyword\"},s={pattern:/(^|\\s+)(?:proc\\s+\\w+|quit|run|data(?!\\=))\\b/i,alias:\"keyword\",lookbehind:!0},o=[/\\/\\*[\\s\\S]*?\\*\\//,{pattern:/(^\\s*|;\\s*)\\*[^;]*;/m,lookbehind:!0}],l={pattern:RegExp(t),greedy:!0},c=/[$%@.(){}\\[\\];,\\\\]/,d={pattern:/%?\\w+(?=\\()/,alias:\"keyword\"},p={function:d,\"arg-value\":{pattern:/(\\s*=\\s*)[A-Z\\.]+/i,lookbehind:!0},operator:/=/,\"macro-variable\":i,arg:{pattern:/[A-Z]+/i,alias:\"keyword\"},number:a,\"numeric-constant\":n,punctuation:c,string:l},u={pattern:/\\b(?:format|put)\\b=?[\\w'$.]+/im,inside:{keyword:/^(?:format|put)(?=\\=)/i,equals:/=/,format:{pattern:/(?:\\w|\\$\\d)+\\.\\d?/i,alias:\"number\"}}},m={pattern:/\\b(?:format|put)\\s+[\\w']+(?:\\s+[$.\\w]+)+(?=;)/i,inside:{keyword:/^(?:format|put)/i,format:{pattern:/[\\w$]+\\.\\d?/,alias:\"number\"}}},b={pattern:/((?:^|[\\s])=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\\d?)\\b/i,lookbehind:!0,alias:\"keyword\"},g={pattern:/(^|\\s)(?:submit(?:\\s+(?:load|parseonly|norun))?|endsubmit)\\b/i,lookbehind:!0,alias:\"keyword\"},k=\"accessControl|cdm|aggregation|aStore|ruleMining|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|sccasl|clustering|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deepLearn|deepNeural|varReduce|simSystem|ds2|deduplication|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gam|gleam|graphSemiSupLearn|gVarCluster|hiddenMarkovModel|hyperGroup|image|iml|ica|kernalPca|langModel|ldaTopic|sparseML|mlTools|mixed|modelPublishing|mbc|network|optNetwork|neuralNet|nonlinear|nmf|nonParametricBayes|optimization|panel|pls|percentile|pca|phreg|qkb|qlim|quantreg|recommend|tsReconcile|deepRnn|regression|reinforcementLearn|robustPca|sampling|sparkEmbeddedProcess|search(?:Analytics)?|sentimentAnalysis|sequence|configuration|session(?:Prop)?|severity|simple|smartData|sandwich|spatialreg|stabilityMonitoring|spc|loadStreams|svDataDescription|svm|table|conditionalRandomFields|text(?:Rule(?:Develop|Score)|Mining|Parse|Topic|Util|Filters|Frequency)|tsInfo|timeData|transpose|uniTimeSeries\",y={pattern:RegExp(\"(^|\\\\s)(?:action\\\\s+)?(?:<act>)\\\\.[a-z]+\\\\b[^;]+\".replace(/<act>/g,function(){return k}),\"i\"),lookbehind:!0,inside:{keyword:RegExp(\"(?:<act>)\\\\.[a-z]+\\\\b\".replace(/<act>/g,function(){return k}),\"i\"),action:{pattern:/(?:action)/i,alias:\"keyword\"},comment:o,function:d,\"arg-value\":p[\"arg-value\"],operator:p.operator,argument:p.arg,number:a,\"numeric-constant\":n,punctuation:c,string:l}},S={pattern:/((?:^|\\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?=\\=)|define|delete|describe|document|do\\s+over|do|dol|drop|dul|end(?:source|comp)?|entryTitle|else|eval(?:uate)?|exec(?:ute)?|exit|fill(?:attrs)?|file(?:name)?|flist|fnc|function(?:list)?|goto|global|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|name|noobs|nowd|_?null_|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|put|print|raise|ranexp|rannor|rbreak|retain|return|select|set|session|sessref|source|statgraph|sum|summarize|table|temp|terminate|then\\s+do|then|title\\d?|to|var|when|where|xaxisopts|yaxisopts|y2axisopts)\\b/i,lookbehind:!0};e.languages.sas={datalines:{pattern:/^(\\s*)(?:(?:data)?lines|cards);[\\s\\S]+?^[ \\t]*;/im,lookbehind:!0,alias:\"string\",inside:{keyword:{pattern:/^(?:(?:data)?lines|cards)/i},punctuation:/;/}},\"proc-sql\":{pattern:/(^proc\\s+(?:fed)?sql(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|quit|run|data);|(?![\\s\\S]))/im,lookbehind:!0,inside:{sql:{pattern:RegExp(\"^[ \\t]*(?:select|alter\\\\s+table|(?:create|describe|drop)\\\\s+(?:index|table(?:\\\\s+constraints)?|view)|create\\\\s+unique\\\\s+index|insert\\\\s+into|update)(?:<str>|[^;\\\"'])+;\".replace(/<str>/g,function(){return t}),\"im\"),alias:\"language-sql\",inside:e.languages.sql},\"global-statements\":b,\"sql-statements\":{pattern:/(^|\\s)(?:disconnect\\s+from|exec(?:ute)?|begin|commit|rollback|reset|validate)\\b/i,lookbehind:!0,alias:\"keyword\"},number:a,\"numeric-constant\":n,punctuation:c,string:l}},\"proc-groovy\":{pattern:/(^proc\\s+groovy(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|quit|run|data);|(?![\\s\\S]))/im,lookbehind:!0,inside:{comment:o,groovy:{pattern:RegExp(\"(^[ \\t]*submit(?:\\\\s+(?:load|parseonly|norun))?)(?:<str>|[^\\\"'])+?(?=endsubmit;)\".replace(/<str>/g,function(){return t}),\"im\"),lookbehind:!0,alias:\"language-groovy\",inside:e.languages.groovy},keyword:S,\"submit-statement\":g,\"global-statements\":b,number:a,\"numeric-constant\":n,punctuation:c,string:l}},\"proc-lua\":{pattern:/(^proc\\s+lua(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|quit|run|data);|(?![\\s\\S]))/im,lookbehind:!0,inside:{comment:o,lua:{pattern:RegExp(\"(^[ \\t]*submit(?:\\\\s+(?:load|parseonly|norun))?)(?:<str>|[^\\\"'])+?(?=endsubmit;)\".replace(/<str>/g,function(){return t}),\"im\"),lookbehind:!0,alias:\"language-lua\",inside:e.languages.lua},keyword:S,\"submit-statement\":g,\"global-statements\":b,number:a,\"numeric-constant\":n,punctuation:c,string:l}},\"proc-cas\":{pattern:/(^proc\\s+cas(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|quit|data);|(?![\\s\\S]))/im,lookbehind:!0,inside:{comment:o,\"statement-var\":{pattern:/((?:^|\\s)=?)saveresult\\s[^;]+/im,lookbehind:!0,inside:{statement:{pattern:/^saveresult\\s+\\S+/i,inside:{keyword:/^(?:saveresult)/i}},rest:p}},\"cas-actions\":y,statement:{pattern:/((?:^|\\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,lookbehind:!0,inside:p},step:s,keyword:S,function:d,format:u,altformat:m,\"global-statements\":b,number:a,\"numeric-constant\":n,punctuation:c,string:l}},\"proc-args\":{pattern:RegExp(\"(^proc\\\\s+\\\\w+\\\\s+)(?!\\\\s)(?:[^;\\\"']|<str>)+;\".replace(/<str>/g,function(){return t}),\"im\"),lookbehind:!0,inside:p},\"macro-keyword\":r,\"macro-variable\":i,\"macro-string-functions\":{pattern:/((?:^|\\s|=))%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)\\(.*?(?:[^%]\\))/i,lookbehind:!0,inside:{function:{pattern:/%(?:NRBQUOTE|NRQUOTE|NRSTR|BQUOTE|QUOTE|STR)/i,alias:\"keyword\"},\"macro-keyword\":r,\"macro-variable\":i,\"escaped-char\":{pattern:/%['\"()<>=¬^~;,#]/i},punctuation:c}},\"macro-declaration\":{pattern:/^%macro[^;]+(?=;)/im,inside:{keyword:/%macro/i}},\"macro-end\":{pattern:/^%mend[^;]+(?=;)/im,inside:{keyword:/%mend/i}},macro:{pattern:/%_\\w+(?=\\()/,alias:\"keyword\"},input:{pattern:/\\binput\\s[-\\w\\s/*.$&]+;/i,inside:{input:{alias:\"keyword\",pattern:/^input/i},comment:o,number:a,\"numeric-constant\":n}},\"options-args\":{pattern:/(^options)[-'\"|/\\\\<>*+=:()\\w\\s]*(?=;)/im,lookbehind:!0,inside:p},\"cas-actions\":y,comment:o,function:d,format:u,altformat:m,\"numeric-constant\":n,datetime:{pattern:RegExp(t+\"(?:dt?|t)\"),alias:\"number\"},string:l,step:s,keyword:S,\"operator-keyword\":{pattern:/\\b(?:eq|ne|gt|lt|ge|le|in|not)\\b/i,alias:\"operator\"},number:a,operator:/\\*\\*?|\\|\\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\\/=&]|[~¬^]=?/i,punctuation:c}}(Prism);\n!function(e){e.languages.sass=e.languages.extend(\"css\",{comment:{pattern:/^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t].+)*/m,lookbehind:!0}}),e.languages.insertBefore(\"sass\",\"atrule\",{\"atrule-line\":{pattern:/^(?:[ \\t]*)[@+=].+/m,inside:{atrule:/(?:@[\\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var t=/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/,a=[/[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|or|not)\\b/,{pattern:/(\\s+)-(?=\\s)/,lookbehind:!0}];e.languages.insertBefore(\"sass\",\"property\",{\"variable-line\":{pattern:/^[ \\t]*\\$.+/m,inside:{punctuation:/:/,variable:t,operator:a}},\"property-line\":{pattern:/^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s].*)/m,inside:{property:[/[^:\\s]+(?=\\s*:)/,{pattern:/(:)[^:\\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:a,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore(\"sass\",\"punctuation\",{selector:{pattern:/([ \\t]*)\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*)*/,lookbehind:!0}})}(Prism);\nPrism.languages.scss=Prism.languages.extend(\"css\",{comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,lookbehind:!0},atrule:{pattern:/@[\\w-](?:\\([^()]+\\)|[^()\\s]|\\s+(?!\\s))*?(?=\\s+[{;])/,inside:{rule:/@[\\w-]+/}},url:/(?:[-a-z]+-)?url(?=\\()/i,selector:{pattern:/(?=\\S)[^@;{}()]?(?:[^@;{}()\\s]|\\s+(?!\\s)|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}][^:{}]*[:{][^}]+))/m,inside:{parent:{pattern:/&/,alias:\"important\"},placeholder:/%[-\\w]+/,variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}},property:{pattern:/(?:[-\\w]|\\$[-\\w]|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,inside:{variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}}}),Prism.languages.insertBefore(\"scss\",\"atrule\",{keyword:[/@(?:if|else(?: if)?|forward|for|each|while|import|use|extend|debug|warn|mixin|include|function|return|content)\\b/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore(\"scss\",\"important\",{variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}),Prism.languages.insertBefore(\"scss\",\"function\",{\"module-modifier\":{pattern:/\\b(?:as|with|show|hide)\\b/i,alias:\"keyword\"},placeholder:{pattern:/%[-\\w]+/,alias:\"selector\"},statement:{pattern:/\\B!(?:default|optional)\\b/i,alias:\"keyword\"},boolean:/\\b(?:true|false)\\b/,null:{pattern:/\\bnull\\b/,alias:\"keyword\"},operator:{pattern:/(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|or|not)(?=\\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss;\nPrism.languages.scala=Prism.languages.extend(\"java\",{\"triple-quoted-string\":{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0,alias:\"string\"},string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},keyword:/<-|=>|\\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\\b/,number:/\\b0x(?:[\\da-f]*\\.)?[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e\\d+)?[dfl]?/i,builtin:/\\b(?:String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing)\\b/,symbol:/'[^\\d\\s\\\\]\\w*/}),delete Prism.languages.scala[\"class-name\"],delete Prism.languages.scala.function;\n!function(s){var n=[\"([\\\"'])(?:\\\\\\\\[^]|\\\\$\\\\([^)]+\\\\)|\\\\$(?!\\\\()|`[^`]+`|(?!\\\\1)[^\\\\\\\\`$])*\\\\1\",\"<<-?\\\\s*([\\\"']?)(\\\\w+)\\\\2\\\\s[^]*?[\\r\\n]\\\\3\"].join(\"|\");s.languages[\"shell-session\"]={command:{pattern:RegExp('^(?:[^\\\\s@:$#*!/\\\\\\\\]+@[^\\\\s@:$#*!/\\\\\\\\]+(?::[^\\0-\\\\x1F$#*?\"<>:;|]+)?|[^\\0-\\\\x1F$#*?\"<>:;|]+)?[$#](?:[^\\\\\\\\\\r\\n\\'\"<]|\\\\\\\\.|<<str>>)+'.replace(/<<str>>/g,function(){return n}),\"m\"),greedy:!0,inside:{info:{pattern:/^[^#$]+/,alias:\"punctuation\",inside:{user:/^[^\\s@:$#*!/\\\\]+@[^\\s@:$#*!/\\\\]+/,punctuation:/:/,path:/[\\s\\S]+/}},bash:{pattern:/(^[$#]\\s*)\\S[\\s\\S]*/,lookbehind:!0,alias:\"language-bash\",inside:s.languages.bash},\"shell-symbol\":{pattern:/^[$#]/,alias:\"important\"}}},output:/.(?:.*(?:[\\r\\n]|.$))*/},s.languages[\"sh-session\"]=s.languages.shellsession=s.languages[\"shell-session\"]}(Prism);\nPrism.languages.smali={comment:/#.*/,string:{pattern:/\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|'(?:[^\\r\\n\\\\']|\\\\(?:.|u[\\da-fA-F]{4}))'/,greedy:!0},\"class-name\":{pattern:/L(?:(?:\\w+|`[^`\\r\\n]*`)\\/)*(?:[\\w$]+|`[^`\\r\\n]*`)(?=\\s*;)/,inside:{\"class-name\":{pattern:/(^L|\\/)(?:[\\w$]+|`[^`\\r\\n]*`)$/,lookbehind:!0},namespace:{pattern:/^(L)(?:(?:\\w+|`[^`\\r\\n]*`)\\/)+/,lookbehind:!0,inside:{punctuation:/\\//}},builtin:/^L/}},builtin:[{pattern:/([();\\[])[BCDFIJSVZ]+/,lookbehind:!0},{pattern:/([\\w$>]:)[BCDFIJSVZ]/,lookbehind:!0}],keyword:[{pattern:/(\\.end\\s+)[\\w-]+/,lookbehind:!0},{pattern:/(^|[^\\w.-])\\.(?!\\d)[\\w-]+/,lookbehind:!0},{pattern:/(^|[^\\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\\w.-])/,lookbehind:!0}],function:{pattern:/(^|[^\\w.-])(?:\\w+|<[\\w$-]+>)(?=\\()/,lookbehind:!0},field:{pattern:/[\\w$]+(?=:)/,alias:\"variable\"},register:{pattern:/(^|[^\\w.-])[vp]\\d(?![\\w.-])/,lookbehind:!0,alias:\"variable\"},boolean:{pattern:/(^|[^\\w.-])(?:true|false)(?![\\w.-])/,lookbehind:!0},number:{pattern:/(^|[^/\\w.-])-?(?:NAN|INFINITY|0x(?:[\\dA-F]+(?:\\.[\\dA-F]*)?|\\.[\\dA-F]+)(?:p[+-]?[\\dA-F]+)?|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)[dflst]?(?![\\w.-])/i,lookbehind:!0},label:{pattern:/(:)\\w+/,lookbehind:!0,alias:\"property\"},operator:/->|\\.\\.|[\\[=]/,punctuation:/[{}(),;:]/};\nPrism.languages.smalltalk={comment:/\"(?:\"\"|[^\"])*\"/,character:{pattern:/\\$./,alias:\"string\"},string:/'(?:''|[^'])*'/,symbol:/#[\\da-z]+|#(?:-|([+\\/\\\\*~<>=@%|&?!])\\1?)|#(?=\\()/i,\"block-arguments\":{pattern:/(\\[\\s*):[^\\[|]*\\|/,lookbehind:!0,inside:{variable:/:[\\da-z]+/i,punctuation:/\\|/}},\"temporary-variables\":{pattern:/\\|[^|]+\\|/,inside:{variable:/[\\da-z]+/i,punctuation:/\\|/}},keyword:/\\b(?:nil|true|false|self|super|new)\\b/,number:[/\\d+r-?[\\dA-Z]+(?:\\.[\\dA-Z]+)?(?:e-?\\d+)?/,/\\b\\d+(?:\\.\\d+)?(?:e-?\\d+)?/],operator:/[<=]=?|:=|~[~=]|\\/\\/?|\\\\\\\\|>[>=]?|[!^+\\-*&|,@]/,punctuation:/[.;:?\\[\\](){}]/};\n!function(n){n.languages.smarty={comment:/\\{\\*[\\s\\S]*?\\*\\}/,delimiter:{pattern:/^\\{|\\}$/i,alias:\"punctuation\"},string:/([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,number:/\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,variable:[/\\$(?!\\d)\\w+/,/#(?!\\d)\\w+#/,{pattern:/(\\.|->)(?!\\d)\\w+/,lookbehind:!0},{pattern:/(\\[)(?!\\d)\\w+(?=\\])/,lookbehind:!0}],function:[{pattern:/(\\|\\s*)@?(?!\\d)\\w+/,lookbehind:!0},/^\\/?(?!\\d)\\w+/,/(?!\\d)\\w+(?=\\()/],\"attr-name\":{pattern:/\\w+\\s*=\\s*(?:(?!\\d)\\w+)?/,inside:{variable:{pattern:/(=\\s*)(?!\\d)\\w+/,lookbehind:!0},operator:/=/}},punctuation:[/[\\[\\]().,:`]|->/],operator:[/[+\\-*\\/%]|==?=?|[!<>]=?|&&|\\|\\|?/,/\\bis\\s+(?:not\\s+)?(?:div|even|odd)(?:\\s+by)?\\b/,/\\b(?:eq|neq?|gt|lt|gt?e|lt?e|not|mod|or|and)\\b/],keyword:/\\b(?:false|off|on|no|true|yes)\\b/},n.hooks.add(\"before-tokenize\",function(e){var t=!1;n.languages[\"markup-templating\"].buildPlaceholders(e,\"smarty\",/\\{\\*[\\s\\S]*?\\*\\}|\\{[\\s\\S]+?\\}/g,function(e){return\"{/literal}\"===e&&(t=!1),!t&&(\"{literal}\"===e&&(t=!0),!0)})}),n.hooks.add(\"after-tokenize\",function(e){n.languages[\"markup-templating\"].tokenizePlaceholders(e,\"smarty\")})}(Prism);\n!function(e){var n=/\\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\\b/i;e.languages.sml={comment:/\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*)|\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*))*\\*\\))*\\*\\)/,string:{pattern:/#?\"(?:[^\"\\\\]|\\\\.)*\"/,greedy:!0},\"class-name\":[{pattern:RegExp(\"((?:^|[^:]):\\\\s*)<TERMINAL>(?:\\\\s*(?:(?:\\\\*|->)\\\\s*<TERMINAL>|,\\\\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\\\\s+<LONG-ID>)))*\".replace(/<NOT-LAST>/g,function(){return\"\\\\s*(?:[*,]|->)\"}).replace(/<TERMINAL>/g,function(){return\"(?:'[\\\\w']*|<LONG-ID>|\\\\((?:[^()]|\\\\([^()]*\\\\))*\\\\)|\\\\{(?:[^{}]|\\\\{[^{}]*\\\\})*\\\\})(?:\\\\s+<LONG-ID>)*\"}).replace(/<LONG-ID>/g,function(){return\"(?!<KEYWORD>)[a-z\\\\d_][\\\\w'.]*\"}).replace(/<KEYWORD>/g,function(){return n.source}),\"i\"),lookbehind:!0,greedy:!0,inside:null},{pattern:/((?:^|[^\\w'])(?:datatype|exception|functor|signature|structure|type)\\s+)[a-z_][\\w'.]*/i,lookbehind:!0}],function:{pattern:/((?:^|[^\\w'])fun\\s+)[a-z_][\\w'.]*/i,lookbehind:!0},keyword:n,variable:{pattern:/(^|[^\\w'])'[\\w']*/,lookbehind:!0},number:/~?\\b(?:\\d+(?:\\.\\d+)?(?:e~?\\d+)?|0x[\\da-f]+)\\b/i,word:{pattern:/\\b0w(?:\\d+|x[\\da-f]+)\\b/i,alias:\"constant\"},boolean:/\\b(?:false|true)\\b/i,operator:/\\.\\.\\.|:[>=:]|=>?|->|[<>]=?|[!+\\-*/^#|@~]/,punctuation:/[(){}\\[\\].:,;]/},e.languages.sml[\"class-name\"][0].inside=e.languages.sml,e.languages.smlnj=e.languages.sml}(Prism);\nPrism.languages.solidity=Prism.languages.extend(\"clike\",{\"class-name\":{pattern:/(\\b(?:contract|enum|interface|library|new|struct|using)\\s+)(?!\\d)[\\w$]+/,lookbehind:!0},keyword:/\\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\\b/,operator:/=>|->|:=|=:|\\*\\*|\\+\\+|--|\\|\\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/}),Prism.languages.insertBefore(\"solidity\",\"keyword\",{builtin:/\\b(?:address|bool|string|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|byte|bytes(?:[1-9]|[12]\\d|3[0-2])?)\\b/}),Prism.languages.insertBefore(\"solidity\",\"number\",{version:{pattern:/([<>]=?|\\^)\\d+\\.\\d+\\.\\d+\\b/,lookbehind:!0,alias:\"number\"}}),Prism.languages.sol=Prism.languages.solidity;\n!function(n){var t={pattern:/\\{[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}\\}/i,alias:\"constant\",inside:{punctuation:/[{}]/}};n.languages[\"solution-file\"]={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,greedy:!0,inside:{guid:t}},object:{pattern:/^([ \\t]*)(?:([A-Z]\\w*)\\b(?=.*(?:\\r\\n?|\\n)(?:\\1[ \\t].*(?:\\r\\n?|\\n))*\\1End\\2(?=[ \\t]*$))|End[A-Z]\\w*(?=[ \\t]*$))/m,lookbehind:!0,greedy:!0,alias:\"keyword\"},property:{pattern:/^([ \\t]*)(?!\\s)[^\\r\\n\"#=()]*[^\\s\"#=()](?=\\s*=)/m,lookbehind:!0,inside:{guid:t}},guid:t,number:/\\b\\d+(?:\\.\\d+)*\\b/,boolean:/\\b(?:FALSE|TRUE)\\b/,operator:/=/,punctuation:/[(),]/},n.languages.sln=n.languages[\"solution-file\"]}(Prism);\n!function(t){var e=/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,a=/\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-F]+\\b/;t.languages.soy={comment:[/\\/\\*[\\s\\S]*?\\*\\//,{pattern:/(\\s)\\/\\/.*/,lookbehind:!0,greedy:!0}],\"command-arg\":{pattern:/({+\\/?\\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\\s+)\\.?[\\w.]+/,lookbehind:!0,alias:\"string\",inside:{punctuation:/\\./}},parameter:{pattern:/({+\\/?\\s*@?param\\??\\s+)\\.?[\\w.]+/,lookbehind:!0,alias:\"variable\"},keyword:[{pattern:/({+\\/?[^\\S\\r\\n]*)(?:\\\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\\??|rb|sp|switch|template|xid)/,lookbehind:!0},/\\b(?:any|as|attributes|bool|css|float|in|int|js|html|list|map|null|number|string|uri)\\b/],delimiter:{pattern:/^{+\\/?|\\/?}+$/,alias:\"punctuation\"},property:/\\w+(?==)/,variable:{pattern:/\\$[^\\W\\d]\\w*(?:\\??(?:\\.\\w+|\\[[^\\]]+]))*/,inside:{string:{pattern:e,greedy:!0},number:a,punctuation:/[\\[\\].?]/}},string:{pattern:e,greedy:!0},function:[/\\w+(?=\\()/,{pattern:/(\\|[^\\S\\r\\n]*)\\w+/,lookbehind:!0}],boolean:/\\b(?:true|false)\\b/,number:a,operator:/\\?:?|<=?|>=?|==?|!=|[+*/%-]|\\b(?:and|not|or)\\b/,punctuation:/[{}()\\[\\]|.,:]/},t.hooks.add(\"before-tokenize\",function(e){var a=!1;t.languages[\"markup-templating\"].buildPlaceholders(e,\"soy\",/{{.+?}}|{.+?}|\\s\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//g,function(e){return\"{/literal}\"===e&&(a=!1),!a&&(\"{literal}\"===e&&(a=!0),!0)})}),t.hooks.add(\"after-tokenize\",function(e){t.languages[\"markup-templating\"].tokenizePlaceholders(e,\"soy\")})}(Prism);\nPrism.languages.turtle={comment:{pattern:/#.*/,greedy:!0},\"multiline-string\":{pattern:/\"\"\"(?:(?:\"\"?)?(?:[^\"\\\\]|\\\\.))*\"\"\"|'''(?:(?:''?)?(?:[^'\\\\]|\\\\.))*'''/,greedy:!0,alias:\"string\",inside:{comment:/#.*/}},string:{pattern:/\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*'/,greedy:!0},url:{pattern:/<(?:[^\\x00-\\x20<>\"{}|^`\\\\]|\\\\(?:u[\\da-fA-F]{4}|U[\\da-fA-F]{8}))*>/,greedy:!0,inside:{punctuation:/[<>]/}},function:{pattern:/(?:(?![-.\\d\\xB7])[-.\\w\\xB7\\xC0-\\uFFFD]+)?:(?:(?![-.])(?:[-.:\\w\\xC0-\\uFFFD]|%[\\da-f]{2}|\\\\.)+)?/i,inside:{\"local-name\":{pattern:/([^:]*:)[\\s\\S]+/,lookbehind:!0},prefix:{pattern:/[\\s\\S]+/,inside:{punctuation:/:/}}}},number:/[+-]?\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,punctuation:/[{}.,;()[\\]]|\\^\\^/,boolean:/\\b(?:true|false)\\b/,keyword:[/(?:\\ba|@prefix|@base)\\b|=/,/\\b(?:graph|base|prefix)\\b/i],tag:{pattern:/@[a-z]+(?:-[a-z\\d]+)*/i,inside:{punctuation:/@/}}},Prism.languages.trig=Prism.languages.turtle;\nPrism.languages.sparql=Prism.languages.extend(\"turtle\",{boolean:/\\b(?:true|false)\\b/i,variable:{pattern:/[?$]\\w+/,greedy:!0}}),Prism.languages.insertBefore(\"sparql\",\"punctuation\",{keyword:[/\\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\\b/i,/\\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|ROUND|REGEX|REPLACE|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\\b(?=\\s*\\()/i,/\\b(?:GRAPH|BASE|PREFIX)\\b/i]}),Prism.languages.rq=Prism.languages.sparql;\nPrism.languages[\"splunk-spl\"]={comment:/`comment\\(\"(?:\\\\.|[^\\\\\"])*\"\\)`/,string:{pattern:/\"(?:\\\\.|[^\\\\\"])*\"/,greedy:!0},keyword:/\\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\\b/i,\"operator-word\":{pattern:/\\b(?:and|as|by|not|or|xor)\\b/i,alias:\"operator\"},function:/\\w+(?=\\s*\\()/,property:/\\w+(?=\\s*=(?!=))/,date:{pattern:/\\b\\d{1,2}\\/\\d{1,2}\\/\\d{1,4}(?:(?::\\d{1,2}){3})?\\b/,alias:\"number\"},number:/\\b\\d+(?:\\.\\d+)?\\b/,boolean:/\\b(?:f|false|t|true)\\b/i,operator:/[<>=]=?|[-+*/%|]/,punctuation:/[()[\\],]/};\nPrism.languages.sqf=Prism.languages.extend(\"clike\",{string:{pattern:/\"(?:(?:\"\")?[^\"])*\"(?!\")|'(?:[^'])*'/,greedy:!0},keyword:/\\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execVM|execFSM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\\b/i,boolean:/\\b(?:true|false)\\b/i,function:/\\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\\b/i,number:/(?:\\$|\\b0x)[\\da-f]+\\b|(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+)?)(?:e[+-]?\\d+)?\\b/i,operator:/##|>>|&&|\\|\\||[!=<>]=?|[-+*/%#^]|\\b(?:and|mod|not|or)\\b/i,\"magic-variable\":{pattern:/\\b(?:_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x|this|thisList|thisTrigger)\\b/i,alias:\"keyword\"},constant:/\\bDIK(?:_[a-z\\d]+)+\\b/i}),Prism.languages.insertBefore(\"sqf\",\"string\",{macro:{pattern:/(^\\s*)#[a-z](?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,greedy:!0,alias:\"property\",inside:{directive:{pattern:/#[a-z]+\\b/i,alias:\"keyword\"},comment:Prism.languages.sqf.comment}}}),delete Prism.languages.sqf[\"class-name\"];\nPrism.languages.squirrel=Prism.languages.extend(\"clike\",{comment:[Prism.languages.clike.comment[0],{pattern:/(^|[^\\\\:])(?:\\/\\/|#).*/,lookbehind:!0,greedy:!0}],string:[{pattern:/(^|[^\\\\\"'@])(?:@\"(?:[^\"]|\"\")*\"(?!\")|\"(?:[^\\\\\\r\\n\"]|\\\\.)*\")/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\\"'])'(?:[^\\\\']|\\\\(?:[xuU][0-9a-fA-F]{0,8}|[^]))'/,lookbehind:!0,greedy:!0}],\"class-name\":{pattern:/(\\b(?:class|enum|extends|instanceof)\\s+)\\w+(?:\\.\\w+)*/,lookbehind:!0,inside:{punctuation:/\\./}},keyword:/\\b(?:base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield|__LINE__|__FILE__)\\b/,number:/\\b(?:0x[0-9a-fA-F]+|\\d+(?:\\.(?:\\d+|[eE][+-]?\\d+))?)\\b/,operator:/\\+\\+|--|<=>|<[-<]|>>>?|&&?|\\|\\|?|[-+*/%!=<>]=?|[~^]|::?/,punctuation:/[(){}\\[\\],;.]/}),Prism.languages.insertBefore(\"squirrel\",\"operator\",{\"attribute-punctuation\":{pattern:/<\\/|\\/>/,alias:\"important\"},lambda:{pattern:/@(?=\\()/,alias:\"operator\"}});\nPrism.languages.stan={comment:/\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|#(?!include).*/,string:{pattern:/\"[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]*\"/,greedy:!0},directive:{pattern:/^([ \\t]*)#include\\b.*/m,lookbehind:!0,alias:\"property\"},\"function-arg\":{pattern:/(\\b(?:algebra_solver|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect)\\s*\\(\\s*)[a-zA-Z]\\w*/,lookbehind:!0,alias:\"function\"},constraint:{pattern:/(\\b(?:int|matrix|real|row_vector|vector)\\s*)<[^<>]*>/,lookbehind:!0,inside:{expression:{pattern:/(=\\s*)\\S(?:\\S|\\s+(?!\\s))*?(?=\\s*(?:>$|,\\s*\\w+\\s*=))/,lookbehind:!0,inside:null},property:/\\b[a-z]\\w*(?=\\s*=)/i,operator:/=/,punctuation:/^<|>$|[,]/}},keyword:[/\\b(?:break|cholesky_factor_corr|cholesky_factor_cov|continue|corr_matrix|cov_matrix|data|else|for|functions|generated|if|in|increment_log_prob|int|matrix|model|ordered|parameters|positive_ordered|print|quantities|real|reject|return|row_vector|simplex|target|transformed|unit_vector|vector|void|while)\\b/,/\\b(?:algebra_solver|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect)\\b/],function:/\\b[a-z]\\w*(?=\\s*\\()/i,number:/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?\\b/i,boolean:/\\b(?:false|true)\\b/,operator:/<-|\\.[*/]=?|\\|\\|?|&&|[!=<>+\\-*/]=?|['^%~?:]/,punctuation:/[()\\[\\]{},;]/},Prism.languages.stan.constraint.inside.expression.inside=Prism.languages.stan;\nPrism.languages.iecst={comment:[{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\(\\*[\\s\\S]*?(?:\\*\\)|$)|\\{[\\s\\S]*?(?:\\}|$))/,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"class-name\":/\\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:GLOBAL|INPUT|PUTPUT|IN_OUT|ACCESS|TEMP|EXTERNAL|CONFIG)|VAR|METHOD|PROPERTY)\\b/i,keyword:/\\b(?:(?:END_)?(?:IF|WHILE|REPEAT|CASE|FOR)|ELSE|FROM|THEN|ELSIF|DO|TO|BY|PRIVATE|PUBLIC|PROTECTED|CONSTANT|RETURN|EXIT|CONTINUE|GOTO|JMP|AT|RETAIN|NON_RETAIN|TASK|WITH|UNTIL|USING|EXTENDS|IMPLEMENTS|GET|SET|__TRY|__CATCH|__FINALLY|__ENDTRY)\\b/,variable:/\\b(?:AT|BOOL|BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT|L?REAL|TIME(?:_OF_DAY)?|TOD|DT|DATE(?:_AND_TIME)?|STRING|ARRAY|ANY|POINTER)\\b/,symbol:/%[IQM][XBWDL][\\d.]*|%[IQ][\\d.]*/,number:/\\b(?:16#[\\da-f]+|2#[01_]+|0x[\\da-f]+)\\b|\\b(?:T|D|DT|TOD)#[\\d_shmd:]*|\\b[A-Z]*\\#[\\d.,_]*|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,boolean:/\\b(?:TRUE|FALSE|NULL)\\b/,function:/\\w+(?=\\()/,operator:/(?:S?R?:?=>?|&&?|\\*\\*?|<=?|>=?|[-:^/+])|\\b(?:OR|AND|MOD|NOT|XOR|LE|GE|EQ|NE|GT|LT)\\b/,punctuation:/[();]/,type:{pattern:/#/,alias:\"selector\"}};\n!function(e){var n={pattern:/(\\b\\d+)(?:%|[a-z]+)/,lookbehind:!0},r={pattern:/(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,lookbehind:!0},i={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,lookbehind:!0},url:{pattern:/url\\(([\"']?).*?\\1\\)/i,greedy:!0},string:{pattern:/(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,greedy:!0},interpolation:null,func:null,important:/\\B!(?:important|optional)\\b/i,keyword:{pattern:/(^|\\s+)(?:(?:if|else|for|return|unless)(?=\\s+|$)|@[\\w-]+)/,lookbehind:!0},hexcode:/#[\\da-f]{3,6}/i,color:[/\\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\\b/i,{pattern:/\\b(?:rgb|hsl)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:rgb|hsl)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,inside:{unit:n,number:r,function:/[\\w-]+(?=\\()/,punctuation:/[(),]/}}],entity:/\\\\[\\da-f]{1,8}/i,unit:n,boolean:/\\b(?:true|false)\\b/,operator:[/~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.{2,3}|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/],number:r,punctuation:/[{}()\\[\\];:,]/};i.interpolation={pattern:/\\{[^\\r\\n}:]+\\}/,alias:\"variable\",inside:{delimiter:{pattern:/^{|}$/,alias:\"punctuation\"},rest:i}},i.func={pattern:/[\\w-]+\\([^)]*\\).*/,inside:{function:/^[^(]+/,rest:i}},e.languages.stylus={\"atrule-declaration\":{pattern:/(^\\s*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\\w-]+/,rest:i}},\"variable-declaration\":{pattern:/(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:\\{[^{}]*\\}|\\S.*|$)/m,lookbehind:!0,inside:{variable:/^\\S+/,rest:i}},statement:{pattern:/(^[ \\t]*)(?:if|else|for|return|unless)[ \\t].+/m,lookbehind:!0,inside:{keyword:/^\\S+/,rest:i}},\"property-declaration\":{pattern:/((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)(?!\\s)[^{\\r\\n]*(?:;|[^{\\r\\n,](?=$)(?!(?:\\r?\\n|\\r)(?:\\{|\\2[ \\t]+)))/m,lookbehind:!0,inside:{property:{pattern:/^[^\\s:]+/,inside:{interpolation:i.interpolation}},rest:i}},selector:{pattern:/(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t]+)))/m,lookbehind:!0,inside:{interpolation:i.interpolation,comment:i.comment,punctuation:/[{},]/}},func:i.func,string:i.string,comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,lookbehind:!0,greedy:!0},interpolation:i.interpolation,punctuation:/[{}()\\[\\];:.]/}}(Prism);\nPrism.languages.swift=Prism.languages.extend(\"clike\",{string:{pattern:/(\"|')(?:\\\\(?:\\((?:[^()]|\\([^)]+\\))+\\)|\\r\\n|[^(])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0,inside:{interpolation:{pattern:/\\\\\\((?:[^()]|\\([^)]+\\))+\\)/,inside:{delimiter:{pattern:/^\\\\\\(|\\)$/,alias:\"variable\"}}}}},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|some|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\\b/,number:/\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,constant:/\\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,atrule:/@\\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\\b/,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/}),Prism.languages.swift.string.inside.interpolation.inside.rest=Prism.languages.swift;\n!function(n){function i(e,t,a){return{pattern:RegExp(\"<#\"+e+\"[\\\\s\\\\S]*?#>\"),alias:\"block\",inside:{delimiter:{pattern:RegExp(\"^<#\"+e+\"|#>$\"),alias:\"important\"},content:{pattern:/[\\s\\S]+/,inside:t,alias:a}}}}n.languages[\"t4-templating\"]=Object.defineProperty({},\"createT4\",{value:function(e){var t=n.languages[e],a=\"language-\"+e;return{block:{pattern:/<#[\\s\\S]+?#>/,inside:{directive:i(\"@\",{\"attr-value\":{pattern:/=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/,inside:{punctuation:/^=|^[\"']|[\"']$/}},keyword:/\\w+(?=\\s)/,\"attr-name\":/\\w+/}),expression:i(\"=\",t,a),\"class-feature\":i(\"\\\\+\",t,a),standard:i(\"\",t,a)}}}}})}(Prism);\nPrism.languages.t4=Prism.languages[\"t4-cs\"]=Prism.languages[\"t4-templating\"].createT4(\"csharp\");\nPrism.languages.vbnet=Prism.languages.extend(\"basic\",{comment:[{pattern:/(?:!|REM\\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\\\:])'.*/,lookbehind:!0}],keyword:/(?:\\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\\$|\\b)/i});\nPrism.languages[\"t4-vb\"]=Prism.languages[\"t4-templating\"].createT4(\"vbnet\");\n!function(e){var n=/[*&][^\\s[\\]{},]+/,r=/!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/,t=\"(?:\"+r.source+\"(?:[ \\t]+\"+n.source+\")?|\"+n.source+\"(?:[ \\t]+\"+r.source+\")?)\",a=\"(?:[^\\\\s\\\\x00-\\\\x08\\\\x0e-\\\\x1f!\\\"#%&'*,\\\\-:>?@[\\\\]`{|}\\\\x7f-\\\\x84\\\\x86-\\\\x9f\\\\ud800-\\\\udfff\\\\ufffe\\\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*\".replace(/<PLAIN>/g,function(){return\"[^\\\\s\\\\x00-\\\\x08\\\\x0e-\\\\x1f,[\\\\]{}\\\\x7f-\\\\x84\\\\x86-\\\\x9f\\\\ud800-\\\\udfff\\\\ufffe\\\\uffff]\"}),d=\"\\\"(?:[^\\\"\\\\\\\\\\r\\n]|\\\\\\\\.)*\\\"|'(?:[^'\\\\\\\\\\r\\n]|\\\\\\\\.)*'\";function o(e,n){n=(n||\"\").replace(/m/g,\"\")+\"m\";var r=\"([:\\\\-,[{]\\\\s*(?:\\\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|]|}|(?:[\\r\\n]\\\\s*)?#))\".replace(/<<prop>>/g,function(){return t}).replace(/<<value>>/g,function(){return e});return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp(\"([\\\\-:]\\\\s*(?:\\\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\\\S[^\\r\\n]*(?:\\\\2[^\\r\\n]+)*)\".replace(/<<prop>>/g,function(){return t})),lookbehind:!0,alias:\"string\"},comment:/#.*/,key:{pattern:RegExp(\"((?:^|[:\\\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\\\s*:\\\\s)\".replace(/<<prop>>/g,function(){return t}).replace(/<<key>>/g,function(){return\"(?:\"+a+\"|\"+d+\")\"})),lookbehind:!0,greedy:!0,alias:\"atrule\"},directive:{pattern:/(^[ \\t]*)%.+/m,lookbehind:!0,alias:\"important\"},datetime:{pattern:o(\"\\\\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*)?)?\"),lookbehind:!0,alias:\"number\"},boolean:{pattern:o(\"true|false\",\"i\"),lookbehind:!0,alias:\"important\"},null:{pattern:o(\"null|~\",\"i\"),lookbehind:!0,alias:\"important\"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o(\"[+-]?(?:0x[\\\\da-f]+|0o[0-7]+|(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.?\\\\d+)(?:e[+-]?\\\\d+)?|\\\\.inf|\\\\.nan)\",\"i\"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\\]{}\\-,|>?]|\\.\\.\\./},e.languages.yml=e.languages.yaml}(Prism);\nPrism.languages.tap={fail:/not ok[^#{\\n\\r]*/,pass:/ok[^#{\\n\\r]*/,pragma:/pragma [+-][a-z]+/,bailout:/bail out!.*/i,version:/TAP version \\d+/i,plan:/\\d+\\.\\.\\d+(?: +#.*)?/,subtest:{pattern:/# Subtest(?:: .*)?/,greedy:!0},punctuation:/[{}]/,directive:/#.*/,yamlish:{pattern:/(^[ \\t]*)---[\\s\\S]*?[\\r\\n][ \\t]*\\.\\.\\.$/m,lookbehind:!0,inside:Prism.languages.yaml,alias:\"language-yaml\"}};\nPrism.languages.tcl={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0},string:{pattern:/\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,greedy:!0},variable:[{pattern:/(\\$)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/,lookbehind:!0},{pattern:/(\\$){[^}]+}/,lookbehind:!0},{pattern:/(^\\s*set[ \\t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/m,lookbehind:!0}],function:{pattern:/(^\\s*proc[ \\t]+)[^\\s]+/m,lookbehind:!0},builtin:[{pattern:/(^\\s*)(?:proc|return|class|error|eval|exit|for|foreach|if|switch|while|break|continue)\\b/m,lookbehind:!0},/\\b(?:elseif|else)\\b/],scope:{pattern:/(^\\s*)(?:global|upvar|variable)\\b/m,lookbehind:!0,alias:\"constant\"},keyword:{pattern:/(^\\s*|\\[)(?:after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|Safe_Base|scan|seek|set|socket|source|split|string|subst|Tcl|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|wordBreak(?:After|Before)|test|vars)|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\\b/m,lookbehind:!0},operator:/!=?|\\*\\*?|==|&&?|\\|\\|?|<[=<]?|>[=>]?|[-+~\\/%?^]|\\b(?:eq|ne|in|ni)\\b/,punctuation:/[{}()\\[\\]]/};\n!function(t){t.languages.tt2=t.languages.extend(\"clike\",{comment:/#.*|\\[%#[\\s\\S]*?%\\]/,keyword:/\\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|TAGS|THROW|TRY|SWITCH|UNLESS|USE|WHILE|WRAPPER)\\b/,punctuation:/[[\\]{},()]/}),t.languages.insertBefore(\"tt2\",\"number\",{operator:/=[>=]?|!=?|<=?|>=?|&&|\\|\\|?|\\b(?:and|or|not)\\b/,variable:{pattern:/\\b[a-z]\\w*(?:\\s*\\.\\s*(?:\\d+|\\$?[a-z]\\w*))*\\b/i}}),t.languages.insertBefore(\"tt2\",\"keyword\",{delimiter:{pattern:/^(?:\\[%|%%)-?|-?%]$/,alias:\"punctuation\"}}),t.languages.insertBefore(\"tt2\",\"string\",{\"single-quoted-string\":{pattern:/'[^\\\\']*(?:\\\\[\\s\\S][^\\\\']*)*'/,greedy:!0,alias:\"string\"},\"double-quoted-string\":{pattern:/\"[^\\\\\"]*(?:\\\\[\\s\\S][^\\\\\"]*)*\"/,greedy:!0,alias:\"string\",inside:{variable:{pattern:/\\$(?:[a-z]\\w*(?:\\.(?:\\d+|\\$?[a-z]\\w*))*)/i}}}}),delete t.languages.tt2.string,t.hooks.add(\"before-tokenize\",function(e){t.languages[\"markup-templating\"].buildPlaceholders(e,\"tt2\",/\\[%[\\s\\S]+?%\\]/g)}),t.hooks.add(\"after-tokenize\",function(e){t.languages[\"markup-templating\"].tokenizePlaceholders(e,\"tt2\")})}(Prism);\n!function(n){function e(n,e){return RegExp(n.replace(/<MOD>/g,function(){return\"(?:\\\\([^|()\\n]+\\\\)|\\\\[[^\\\\]\\n]+\\\\]|\\\\{[^}\\n]+\\\\})\"}).replace(/<PAR>/g,function(){return\"(?:\\\\)|\\\\((?![^|()\\n]+\\\\)))\"}),e||\"\")}var i={css:{pattern:/\\{[^}]+\\}/,inside:{rest:n.languages.css}},\"class-id\":{pattern:/(\\()[^)]+(?=\\))/,lookbehind:!0,alias:\"attr-value\"},lang:{pattern:/(\\[)[^\\]]+(?=\\])/,lookbehind:!0,alias:\"attr-value\"},punctuation:/[\\\\\\/]\\d+|\\S/},t=n.languages.textile=n.languages.extend(\"markup\",{phrase:{pattern:/(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,lookbehind:!0,inside:{\"block-tag\":{pattern:e(\"^[a-z]\\\\w*(?:<MOD>|<PAR>|[<>=])*\\\\.\"),inside:{modifier:{pattern:e(\"(^[a-z]\\\\w*)(?:<MOD>|<PAR>|[<>=])+(?=\\\\.)\"),lookbehind:!0,inside:i},tag:/^[a-z]\\w*/,punctuation:/\\.$/}},list:{pattern:e(\"^[*#]+<MOD>*\\\\s+\\\\S.*\",\"m\"),inside:{modifier:{pattern:e(\"(^[*#]+)<MOD>+\"),lookbehind:!0,inside:i},punctuation:/^[*#]+/}},table:{pattern:e(\"^(?:(?:<MOD>|<PAR>|[<>=^~])+\\\\.\\\\s*)?(?:\\\\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\\\\\\\/]\\\\d+)+\\\\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\\\\\\\/]\\\\d+)+\\\\.))[^|]*)+\\\\|\",\"m\"),inside:{modifier:{pattern:e(\"(^|\\\\|(?:\\r?\\n|\\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\\\\\\\/]\\\\d+)+(?=\\\\.)\"),lookbehind:!0,inside:i},punctuation:/\\||^\\./}},inline:{pattern:e(\"(^|[^a-zA-Z\\\\d])(\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])<MOD>*.+?\\\\2(?![a-zA-Z\\\\d])\"),lookbehind:!0,inside:{bold:{pattern:e(\"(^(\\\\*\\\\*?)<MOD>*).+?(?=\\\\2)\"),lookbehind:!0},italic:{pattern:e(\"(^(__?)<MOD>*).+?(?=\\\\2)\"),lookbehind:!0},cite:{pattern:e(\"(^\\\\?\\\\?<MOD>*).+?(?=\\\\?\\\\?)\"),lookbehind:!0,alias:\"string\"},code:{pattern:e(\"(^@<MOD>*).+?(?=@)\"),lookbehind:!0,alias:\"keyword\"},inserted:{pattern:e(\"(^\\\\+<MOD>*).+?(?=\\\\+)\"),lookbehind:!0},deleted:{pattern:e(\"(^-<MOD>*).+?(?=-)\"),lookbehind:!0},span:{pattern:e(\"(^%<MOD>*).+?(?=%)\"),lookbehind:!0},modifier:{pattern:e(\"(^\\\\*\\\\*|__|\\\\?\\\\?|[*_%@+\\\\-^~])<MOD>+\"),lookbehind:!0,inside:i},punctuation:/[*_%?@+\\-^~]+/}},\"link-ref\":{pattern:/^\\[[^\\]]+\\]\\S+$/m,inside:{string:{pattern:/(\\[)[^\\]]+(?=\\])/,lookbehind:!0},url:{pattern:/(\\])\\S+$/,lookbehind:!0},punctuation:/[\\[\\]]/}},link:{pattern:e('\"<MOD>*[^\"]+\":.+?(?=[^\\\\w/]?(?:\\\\s|$))'),inside:{text:{pattern:e('(^\"<MOD>*)[^\"]+(?=\")'),lookbehind:!0},modifier:{pattern:e('(^\")<MOD>+'),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[\":]/}},image:{pattern:e(\"!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\\\\s()]+(?:\\\\([^)]+\\\\))?!(?::.+?(?=[^\\\\w/]?(?:\\\\s|$)))?\"),inside:{source:{pattern:e(\"(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\\\\s()]+(?:\\\\([^)]+\\\\))?(?=!)\"),lookbehind:!0,alias:\"url\"},modifier:{pattern:e(\"(^!)(?:<MOD>|<PAR>|[<>=])+\"),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[!:]/}},footnote:{pattern:/\\b\\[\\d+\\]/,alias:\"comment\",inside:{punctuation:/\\[|\\]/}},acronym:{pattern:/\\b[A-Z\\d]+\\([^)]+\\)/,inside:{comment:{pattern:/(\\()[^)]+(?=\\))/,lookbehind:!0},punctuation:/[()]/}},mark:{pattern:/\\b\\((?:TM|R|C)\\)/,alias:\"comment\",inside:{punctuation:/[()]/}}}}}),a=t.phrase.inside,o={inline:a.inline,link:a.link,image:a.image,footnote:a.footnote,acronym:a.acronym,mark:a.mark};t.tag.pattern=/<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i;var r=a.inline.inside;r.bold.inside=o,r.italic.inside=o,r.inserted.inside=o,r.deleted.inside=o,r.span.inside=o;var d=a.table.inside;d.inline=o.inline,d.link=o.link,d.image=o.image,d.footnote=o.footnote,d.acronym=o.acronym,d.mark=o.mark}(Prism);\n!function(e){function n(e){return e.replace(/__/g,function(){return\"(?:[\\\\w-]+|'[^'\\n\\r]*'|\\\"(?:\\\\\\\\.|[^\\\\\\\\\\\"\\r\\n])*\\\")\"})}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n(\"(^\\\\s*\\\\[\\\\s*(?:\\\\[\\\\s*)?)__(?:\\\\s*\\\\.\\\\s*__)*(?=\\\\s*\\\\])\"),\"m\"),lookbehind:!0,greedy:!0,alias:\"class-name\"},key:{pattern:RegExp(n(\"(^\\\\s*|[{,]\\\\s*)__(?:\\\\s*\\\\.\\\\s*__)*(?=\\\\s*=)\"),\"m\"),lookbehind:!0,greedy:!0,alias:\"property\"},string:{pattern:/\"\"\"(?:\\\\[\\s\\S]|[^\\\\])*?\"\"\"|'''[\\s\\S]*?'''|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,greedy:!0},date:[{pattern:/\\b\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?\\b/i,alias:\"number\"},{pattern:/\\b\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?\\b/,alias:\"number\"}],number:/(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\b\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?\\b(?:inf|nan)\\b/,boolean:/\\b(?:true|false)\\b/,punctuation:/[.,=[\\]{}]/}}(Prism);\nPrism.languages.twig={comment:/\\{#[\\s\\S]*?#\\}/,tag:{pattern:/\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}/,inside:{ld:{pattern:/^(?:\\{\\{-?|\\{%-?\\s*\\w+)/,inside:{punctuation:/^(?:\\{\\{|\\{%)-?/,keyword:/\\w+/}},rd:{pattern:/-?(?:%\\}|\\}\\})$/,inside:{punctuation:/.+/}},string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,inside:{punctuation:/^['\"]|['\"]$/}},keyword:/\\b(?:even|if|odd)\\b/,boolean:/\\b(?:true|false|null)\\b/,number:/\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,operator:[{pattern:/(\\s)(?:and|b-and|b-xor|b-or|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,lookbehind:!0},/[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/],property:/\\b[a-zA-Z_]\\w*\\b/,punctuation:/[()\\[\\]{}:.,]/}},other:{pattern:/\\S(?:[\\s\\S]*\\S)?/,inside:Prism.languages.markup}};\n!function(E){var n=/\\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\\b/;E.languages.typoscript={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0},{pattern:/(^|[^\\\\:= \\t]|(?:^|[^= \\t])[ \\t]+)\\/\\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\\s*source\\s*=\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')\\s*>/,inside:{string:{pattern:/\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,inside:{keyword:n}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')/,inside:{string:/\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!]\\n).)*/,lookbehind:!0,inside:{function:/{\\$.*}/,keyword:n,number:/^[0-9]+$/,punctuation:/[,|:]/}},keyword:n,number:{pattern:/[0-9]+\\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\\.?[\\w-\\\\]+\\.?/,inside:{punctuation:/\\./}},punctuation:/[{}[\\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/},E.languages.tsconfig=E.languages.typoscript}(Prism);\nPrism.languages.unrealscript={comment:/\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},category:{pattern:/(\\b(?:(?:autoexpand|hide|show)categories|var)\\s*\\()[^()]+(?=\\))/,lookbehind:!0,greedy:!0,alias:\"property\"},metadata:{pattern:/(\\w\\s*)<\\s*\\w+\\s*=[^<>|=\\r\\n]+(?:\\|\\s*\\w+\\s*=[^<>|=\\r\\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\\w+(?=\\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\\w+/,alias:\"property\"},\"class-name\":{pattern:/(\\b(?:class|enum|extends|interface|state(?:\\(\\))?|struct|within)\\s+)\\w+/,lookbehind:!0},keyword:/\\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\\b/,function:/[a-z_]\\w*(?=\\s*\\()/i,boolean:/\\b(?:false|true)\\b/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,operator:/>>|<<|--|\\+\\+|\\*\\*|[-+*/~!=<>$@]=?|&&?|\\|\\|?|\\^\\^?|[?:%]|\\b(?:Cross|Dot|ClockwiseFrom)\\b/,punctuation:/[()[\\]{};,.]/},Prism.languages.uc=Prism.languages.uscript=Prism.languages.unrealscript;\nPrism.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{\"scheme-delimiter\":/:$/}},fragment:{pattern:/#[\\w\\-.~!$&'()*+,;=%:@/?]*/,inside:{\"fragment-delimiter\":/^#/}},query:{pattern:/\\?[\\w\\-.~!$&'()*+,;=%:@/?]*/,inside:{\"query-delimiter\":{pattern:/^\\?/,greedy:!0},\"pair-delimiter\":/[&;]/,pair:{pattern:/^[^=][\\s\\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\\s\\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp(\"^//(?:[\\\\w\\\\-.~!$&'()*+,;=%:]*@)?(?:\\\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\\\.[\\\\w\\\\-.~!$&'()*+,;=]+)\\\\]|[\\\\w\\\\-.~!$&'()*+,;=%]*)(?::\\\\d*)?\",\"m\"),inside:{\"authority-delimiter\":/^\\/\\//,\"user-info-segment\":{pattern:/^[\\w\\-.~!$&'()*+,;=%:]*@/,inside:{\"user-info-delimiter\":/@$/,\"user-info\":/^[\\w\\-.~!$&'()*+,;=%:]+/}},\"port-segment\":{pattern:/:\\d*$/,inside:{\"port-delimiter\":/^:/,port:/^\\d+/}},host:{pattern:/[\\s\\S]+/,inside:{\"ip-literal\":{pattern:/^\\[[\\s\\S]+\\]$/,inside:{\"ip-literal-delimiter\":/^\\[|\\]$/,\"ipv-future\":/^v[\\s\\S]+/,\"ipv6-address\":/^[\\s\\S]+/}},\"ipv4-address\":/^(?:(?:[03-9]\\d?|[12]\\d{0,2})\\.){3}(?:[03-9]\\d?|[12]{0,2})$/}}}},path:{pattern:/^[\\w\\-.~!$&'()*+,;=%:@/]+/m,inside:{\"path-separator\":/\\//}}},Prism.languages.url=Prism.languages.uri;\n!function(e){var n={pattern:/[\\s\\S]+/,inside:null};e.languages.v=e.languages.extend(\"clike\",{string:[{pattern:/`(?:\\\\\\`|\\\\?[^\\`]{1,2})`/,alias:\"rune\"},{pattern:/r?([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,alias:\"quoted-string\",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\{[^{}]*\\}|\\w+(?:\\.\\w+(?:\\([^\\(\\)]*\\))?|\\[[^\\[\\]]+\\])*)/,lookbehind:!0,inside:{\"interpolation-variable\":{pattern:/^\\$\\w[\\s\\S]*$/,alias:\"variable\"},\"interpolation-punctuation\":{pattern:/^\\${|}$/,alias:\"punctuation\"},\"interpolation-expression\":n}}}}],\"class-name\":{pattern:/(\\b(?:enum|interface|struct|type)\\s+)(?:C\\.)?[\\w]+/,lookbehind:!0},keyword:/(?:\\b(?:as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|__global|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\\$(?:if|else|for)|#(?:include|flag))\\b/,number:/\\b(?:0x[a-f\\d]+(?:_[a-f\\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?)\\b/i,operator:/~|\\?|[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\.?/,builtin:/\\b(?:any(?:_int|_float)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|nt|64|128)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\\b/}),n.inside=e.languages.v,e.languages.insertBefore(\"v\",\"operator\",{attribute:{pattern:/^\\s*\\[(?:deprecated|unsafe_fn|typedef|live|inline|flag|ref_only|windows_stdcall|direct_array_access)\\]/m,alias:\"annotation\",inside:{punctuation:/[\\[\\]]/,keyword:/\\w+/}},generic:{pattern:/\\<\\w+\\>(?=\\s*[\\)\\{])/,inside:{punctuation:/[<>]/,\"class-name\":/\\w+/}}}),e.languages.insertBefore(\"v\",\"function\",{\"generic-function\":{pattern:/\\w+\\s*<\\w+>(?=\\()/,inside:{function:/^\\w+/,generic:{pattern:/<\\w+>/,inside:e.languages.v.generic.inside}}}})}(Prism);\nPrism.languages.vala=Prism.languages.extend(\"clike\",{\"class-name\":[{pattern:/\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=(?:\\?\\s+|\\*?\\s+\\*?)\\w+)/,inside:{punctuation:/\\./}},{pattern:/(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,lookbehind:!0,inside:{punctuation:/\\./}},{pattern:/(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,lookbehind:!0,inside:{punctuation:/\\./}},{pattern:/((?:\\b(?:class|interface|new|struct|enum)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,lookbehind:!0,inside:{punctuation:/\\./}}],keyword:/\\b(?:bool|char|double|float|null|size_t|ssize_t|string|unichar|void|int|int8|int16|int32|int64|long|short|uchar|uint|uint8|uint16|uint32|uint64|ulong|ushort|class|delegate|enum|errordomain|interface|namespace|struct|break|continue|do|for|foreach|return|while|else|if|switch|assert|case|default|abstract|const|dynamic|ensures|extern|inline|internal|override|private|protected|public|requires|signal|static|virtual|volatile|weak|async|owned|unowned|try|catch|finally|throw|as|base|construct|delete|get|in|is|lock|new|out|params|ref|sizeof|set|this|throws|typeof|using|value|var|yield)\\b/i,function:/\\w+(?=\\s*\\()/,number:/(?:\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?:f|u?l?)?/i,operator:/\\+\\+|--|&&|\\|\\||<<=?|>>=?|=>|->|~|[+\\-*\\/%&^|=!<>]=?|\\?\\??|\\.\\.\\./,punctuation:/[{}[\\];(),.:]/,constant:/\\b[A-Z0-9_]+\\b/}),Prism.languages.insertBefore(\"vala\",\"string\",{\"raw-string\":{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0,alias:\"string\"},\"template-string\":{pattern:/@\"[\\s\\S]*?\"/,greedy:!0,inside:{interpolation:{pattern:/\\$(?:\\([^)]*\\)|[a-zA-Z]\\w*)/,inside:{delimiter:{pattern:/^\\$\\(?|\\)$/,alias:\"punctuation\"},rest:Prism.languages.vala}},string:/[\\s\\S]+/}}}),Prism.languages.insertBefore(\"vala\",\"keyword\",{regex:{pattern:/\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[imsx]{0,4}(?=\\s*(?:$|[\\r\\n,.;})\\]]))/,greedy:!0,inside:{\"regex-source\":{pattern:/^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,lookbehind:!0,alias:\"language-regex\",inside:Prism.languages.regex},\"regex-flags\":/[a-z]+$/,\"regex-delimiter\":/^\\/|\\/$/}}});\n!function(e){e.languages.velocity=e.languages.extend(\"markup\",{});var n={variable:{pattern:/(^|[^\\\\](?:\\\\\\\\)*)\\$!?(?:[a-z][\\w-]*(?:\\([^)]*\\))?(?:\\.[a-z][\\w-]*(?:\\([^)]*\\))?|\\[[^\\]]+])*|{[^}]+})/i,lookbehind:!0,inside:{}},string:{pattern:/\"[^\"]*\"|'[^']*'/,greedy:!0},number:/\\b\\d+\\b/,boolean:/\\b(?:true|false)\\b/,operator:/[=!<>]=?|[+*/%-]|&&|\\|\\||\\.\\.|\\b(?:eq|g[et]|l[et]|n(?:e|ot))\\b/,punctuation:/[(){}[\\]:,.]/};n.variable.inside={string:n.string,function:{pattern:/([^\\w-])[a-z][\\w-]*(?=\\()/,lookbehind:!0},number:n.number,boolean:n.boolean,punctuation:n.punctuation},e.languages.insertBefore(\"velocity\",\"comment\",{unparsed:{pattern:/(^|[^\\\\])#\\[\\[[\\s\\S]*?]]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\\[\\[|]]#$/}},\"velocity-comment\":[{pattern:/(^|[^\\\\])#\\*[\\s\\S]*?\\*#/,lookbehind:!0,greedy:!0,alias:\"comment\"},{pattern:/(^|[^\\\\])##.*/,lookbehind:!0,greedy:!0,alias:\"comment\"}],directive:{pattern:/(^|[^\\\\](?:\\\\\\\\)*)#@?(?:[a-z][\\w-]*|{[a-z][\\w-]*})(?:\\s*\\((?:[^()]|\\([^()]*\\))*\\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\\w-]*|{[a-z][\\w-]*})|\\bin\\b/,inside:{punctuation:/[{}]/}},rest:n}},variable:n.variable}),e.languages.velocity.tag.inside[\"attr-value\"].inside.rest=e.languages.velocity}(Prism);\nPrism.languages.verilog={comment:/\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,string:{pattern:/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,greedy:!0},property:/\\B\\$\\w+\\b/,constant:/\\B`\\w+\\b/,function:/\\w+(?=\\()/,keyword:/\\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\\b/,important:/\\b(?:always_latch|always_comb|always_ff|always)\\b ?@?/,number:/\\B##?\\d+|(?:\\b\\d+)?'[odbh] ?[\\da-fzx_?]+|\\b(?:\\d*[._])?\\d+(?:e[-+]?\\d+)?/i,operator:/[-+{}^~%*\\/?=!<>&|]+/,punctuation:/[[\\];(),.:]/};\nPrism.languages.vhdl={comment:/--.+/,\"vhdl-vectors\":{pattern:/\\b[oxb]\"[\\da-f_]+\"|\"[01uxzwlh-]+\"/i,alias:\"number\"},\"quoted-function\":{pattern:/\"\\S+?\"(?=\\()/,alias:\"function\"},string:/\"(?:[^\\\\\"\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,constant:/\\b(?:use|library)\\b/i,keyword:/\\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\\b/i,boolean:/\\b(?:true|false)\\b/i,function:/\\w+(?=\\()/,number:/'[01uxzwlh-]'|\\b(?:\\d+#[\\da-f_.]+#|\\d[\\d_.]*)(?:e[-+]?\\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\\b(?:abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|xnor|xor|nor)\\b/i,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.vim={string:/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,comment:/\".*/,function:/\\w+(?=\\()/,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|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|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|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/,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/,number:/\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,operator:/\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,punctuation:/[{}[\\](),;:]/};\nPrism.languages[\"visual-basic\"]={comment:{pattern:/(?:['‘’]|REM\\b)(?:[^\\r\\n_]|_(?:\\r\\n?|\\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:[^\\S\\r\\n]_[^\\S\\r\\n]*(?:\\r\\n?|\\n)|.)+/i,alias:\"comment\",greedy:!0},string:{pattern:/\\$?[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,greedy:!0},date:{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,alias:\"builtin\"},number:/(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:U?[ILS]|[FRD])?/i,boolean:/\\b(?:True|False|Nothing)\\b/i,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|Currency|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|Type|TypeOf|U(?:Integer|Long|Short)|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Until|Xor)\\b/i,operator:[/[+\\-*/\\\\^<=>&#@$%!]/,{pattern:/([^\\S\\r\\n])_(?=[^\\S\\r\\n]*[\\r\\n])/,lookbehind:!0}],punctuation:/[{}().,:?]/},Prism.languages.vb=Prism.languages[\"visual-basic\"],Prism.languages.vba=Prism.languages[\"visual-basic\"];\nPrism.languages.warpscript={comment:/#.*|\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,string:{pattern:/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'|<'(?:[^\\\\']|'(?!>)|\\\\.)*'>/,greedy:!0},variable:/\\$\\S+/,macro:{pattern:/@\\S+/,alias:\"property\"},keyword:/\\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\\b/,number:/[+-]?\\b(?:NaN|Infinity|\\d+(?:\\.\\d*)?(?:[Ee][+-]?\\d+)?|0x[\\da-fA-F]+|0b[01]+)\\b/,boolean:/\\b(?:false|true|F|T)\\b/,punctuation:/<%|%>|[{}[\\]()]/,operator:/==|&&?|\\|\\|?|\\*\\*?|>>>?|<<|[<>!~]=?|[-/%^]|\\+!?|\\b(?:AND|NOT|OR)\\b/};\nPrism.languages.wasm={comment:[/\\(;[\\s\\S]*?;\\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,greedy:!0},keyword:[{pattern:/\\b(?:align|offset)=/,inside:{operator:/=/}},{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/,inside:{punctuation:/\\./}},/\\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/],variable:/\\$[\\w!#$%&'*+\\-./:<=>?@\\\\^_`|~]+/i,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/,punctuation:/[()]/};\nPrism.languages.wiki=Prism.languages.extend(\"markup\",{\"block-comment\":{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0,alias:\"comment\"},heading:{pattern:/^(=+)[^=\\r\\n].*?\\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\\1/,inside:{\"bold-italic\":{pattern:/(''''').+?(?=\\1)/,lookbehind:!0,alias:[\"bold\",\"italic\"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:\"punctuation\"},url:[/ISBN +(?:97[89][ -]?)?(?:\\d[ -]?){9}[\\dx]\\b|(?:RFC|PMID) +\\d+/i,/\\[\\[.+?\\]\\]|\\[.+?\\]/],variable:[/__[A-Z]+__/,/\\{{3}.+?\\}{3}/,/\\{\\{.+?\\}\\}/],symbol:[/^#redirect/im,/~{3,5}/],\"table-tag\":{pattern:/((?:^|[|!])[|!])[^|\\r\\n]+\\|(?!\\|)/m,lookbehind:!0,inside:{\"table-bar\":{pattern:/\\|$/,alias:\"punctuation\"},rest:Prism.languages.markup.tag.inside}},punctuation:/^(?:\\{\\||\\|\\}|\\|-|[*#:;!|])|\\|\\||!!/m}),Prism.languages.insertBefore(\"wiki\",\"tag\",{nowiki:{pattern:/<(nowiki|pre|source)\\b[^>]*>[\\s\\S]*?<\\/\\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\\b[^>]*>|<\\/(?:nowiki|pre|source)>/i,inside:Prism.languages.markup.tag.inside}}}});\n!function(n){n.languages.xeora=n.languages.extend(\"markup\",{constant:{pattern:/\\$(?:DomainContents|PageRenderDuration)\\$/,inside:{punctuation:{pattern:/\\$/}}},variable:{pattern:/\\$@?(?:#+|[-+*~=^])?[\\w.]+\\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},\"function-inline\":{pattern:/\\$F:[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?\\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\\$\\w:|[$:?.,|]/}},alias:\"function\"},\"function-block\":{pattern:/\\$XF:{[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?}:XF\\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:\"function\"},\"directive-inline\":{pattern:/\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+])?:[-\\/\\w.]+\\$/,inside:{punctuation:{pattern:/\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,inside:{tag:{pattern:/#\\d/}}}},alias:\"function\"},\"directive-block-open\":{pattern:/\\$\\w+:{|\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+])?:[-\\w.]+:{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,inside:{tag:{pattern:/#\\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:\"keyword\"}},alias:\"function\"},\"directive-block-separator\":{pattern:/}:[-\\w.]+:{/,inside:{punctuation:{pattern:/[:{}]/}},alias:\"function\"},\"directive-block-close\":{pattern:/}:[-\\w.]+\\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:\"function\"}}),n.languages.insertBefore(\"inside\",\"punctuation\",{variable:n.languages.xeora[\"function-inline\"].inside.variable},n.languages.xeora[\"function-block\"]),n.languages.xeoracube=n.languages.xeora}(Prism);\n!function(n){function a(a,e){n.languages[a]&&n.languages.insertBefore(a,\"comment\",{\"doc-comment\":e})}var e=n.languages.markup.tag,t={pattern:/\\/\\/\\/.*/,greedy:!0,alias:\"comment\",inside:{tag:e}},g={pattern:/'''.*/,greedy:!0,alias:\"comment\",inside:{tag:e}};a(\"csharp\",t),a(\"fsharp\",t),a(\"vbnet\",g)}(Prism);\nPrism.languages.xojo={comment:{pattern:/(?:'|\\/\\/|Rem\\b).+/i,inside:{keyword:/^Rem/i}},string:{pattern:/\"(?:\"\"|[^\"])*\"/,greedy:!0},number:[/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,/&[bchou][a-z\\d]+/i],symbol:/#(?:If|Else|ElseIf|Endif|Pragma)\\b/i,keyword:/\\b(?:AddHandler|App|Array|As(?:signs)?|By(?:Ref|Val)|Break|Call|Case|Catch|Const|Continue|CurrentMethodName|Declare|Dim|Do(?:wnTo)?|Each|Else(?:If)?|End|Exit|Extends|False|Finally|For|Global|If|In|Lib|Loop|Me|Next|Nil|Optional|ParamArray|Raise(?:Event)?|ReDim|Rem|RemoveHandler|Return|Select|Self|Soft|Static|Step|Super|Then|To|True|Try|Ubound|Until|Using|Wend|While)\\b/i,operator:/<[=>]?|>=?|[+\\-*\\/\\\\^=]|\\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|Xor|WeakAddressOf)\\b/i,punctuation:/[.,;:()]/};\n!function(r){r.languages.xquery=r.languages.extend(\"markup\",{\"xquery-comment\":{pattern:/\\(:[\\s\\S]*?:\\)/,greedy:!0,alias:\"comment\"},string:{pattern:/([\"'])(?:\\1\\1|(?!\\1)[\\s\\S])*\\1/,greedy:!0},extension:{pattern:/\\(#.+?#\\)/,alias:\"symbol\"},variable:/\\$[\\w-:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:\"operator\"},\"keyword-operator\":{pattern:/(^|[^:-])\\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\\b(?=$|[^:-])/,lookbehind:!0,alias:\"operator\"},keyword:{pattern:/(^|[^:-])\\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\\b(?=$|[^:-])/,lookbehind:!0},function:/[\\w-]+(?::[\\w-]+)*(?=\\s*\\()/,\"xquery-element\":{pattern:/(element\\s+)[\\w-]+(?::[\\w-]+)*/,lookbehind:!0,alias:\"tag\"},\"xquery-attribute\":{pattern:/(attribute\\s+)[\\w-]+(?::[\\w-]+)*/,lookbehind:!0,alias:\"attr-name\"},builtin:{pattern:/(^|[^:-])\\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|ENTITIES|ENTITY|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|ID|IDREFS?|int|integer|language|long|Name|NCName|negativeInteger|NMTOKENS?|nonNegativeInteger|nonPositiveInteger|normalizedString|NOTATION|positiveInteger|QName|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\\b(?=$|[^:-])/,lookbehind:!0},number:/\\b\\d+(?:\\.\\d+)?(?:E[+-]?\\d+)?/,operator:[/[+*=?|@]|\\.\\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\\s)-(?=\\s)/,lookbehind:!0}],punctuation:/[[\\](){},;:/]/}),r.languages.xquery.tag.pattern=/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|{(?!{)(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,r.languages.xquery.tag.inside[\"attr-value\"].pattern=/=(?:(\"|')(?:\\\\[\\s\\S]|{(?!{)(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/i,r.languages.xquery.tag.inside[\"attr-value\"].inside.punctuation=/^=\"|\"$/,r.languages.xquery.tag.inside[\"attr-value\"].inside.expression={pattern:/{(?!{)(?:{(?:{[^{}]*}|[^{}])*}|[^{}])+}/,inside:r.languages.xquery,alias:\"language-xquery\"};var s=function(e){return\"string\"==typeof e?e:\"string\"==typeof e.content?e.content:e.content.map(s).join(\"\")},l=function(e){for(var t=[],n=0;n<e.length;n++){var a=e[n],o=!1;if(\"string\"!=typeof a&&(\"tag\"===a.type&&a.content[0]&&\"tag\"===a.content[0].type?\"</\"===a.content[0].content[0].content?0<t.length&&t[t.length-1].tagName===s(a.content[0].content[1])&&t.pop():\"/>\"===a.content[a.content.length-1].content||t.push({tagName:s(a.content[0].content[1]),openedBraces:0}):!(0<t.length&&\"punctuation\"===a.type&&\"{\"===a.content)||e[n+1]&&\"punctuation\"===e[n+1].type&&\"{\"===e[n+1].content||e[n-1]&&\"plain-text\"===e[n-1].type&&\"{\"===e[n-1].content?0<t.length&&0<t[t.length-1].openedBraces&&\"punctuation\"===a.type&&\"}\"===a.content?t[t.length-1].openedBraces--:\"comment\"!==a.type&&(o=!0):t[t.length-1].openedBraces++),(o||\"string\"==typeof a)&&0<t.length&&0===t[t.length-1].openedBraces){var i=s(a);n<e.length-1&&(\"string\"==typeof e[n+1]||\"plain-text\"===e[n+1].type)&&(i+=s(e[n+1]),e.splice(n+1,1)),0<n&&(\"string\"==typeof e[n-1]||\"plain-text\"===e[n-1].type)&&(i=s(e[n-1])+i,e.splice(n-1,1),n--),/^\\s+$/.test(i)?e[n]=i:e[n]=new r.Token(\"plain-text\",i,null,i)}a.content&&\"string\"!=typeof a.content&&l(a.content)}};r.hooks.add(\"after-tokenize\",function(e){\"xquery\"===e.language&&l(e.tokens)})}(Prism);\nPrism.languages.yang={comment:/\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/,string:{pattern:/\"(?:[^\\\\\"]|\\\\.)*\"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\\r\\n][ \\t]*)[a-z_][\\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\\s)[a-z_][\\w.-]*(?=:)/i,lookbehind:!0},boolean:/\\b(?:false|true)\\b/,operator:/\\+/,punctuation:/[{};:]/};\n!function(n){function e(e){return function(){return e}}var r=/\\b(?:align|allowzero|and|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\\b/,a=\"\\\\b(?!\"+r.source+\")(?!\\\\d)\\\\w+\\\\b\",o=\"align\\\\s*\\\\((?:[^()]|\\\\([^()]*\\\\))*\\\\)\",s=\"(?!\\\\s)(?:!?\\\\s*(?:\"+\"(?:\\\\?|\\\\bpromise->|(?:\\\\[[^[\\\\]]*\\\\]|\\\\*(?!\\\\*)|\\\\*\\\\*)(?:\\\\s*<ALIGN>|\\\\s*const\\\\b|\\\\s*volatile\\\\b|\\\\s*allowzero\\\\b)*)\".replace(/<ALIGN>/g,e(o))+\"\\\\s*)*\"+\"(?:\\\\bpromise\\\\b|(?:\\\\berror\\\\.)?<ID>(?:\\\\.<ID>)*(?!\\\\s+<ID>))\".replace(/<ID>/g,e(a))+\")+\";n.languages.zig={comment:[{pattern:/\\/{3}.*/,alias:\"doc-comment\"},/\\/{2}.*/],string:[{pattern:/(^|[^\\\\@])c?\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,lookbehind:!0,greedy:!0},{pattern:/([\\r\\n])([ \\t]+c?\\\\{2}).*(?:(?:\\r\\n?|\\n)\\2.*)*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\])'(?:[^'\\\\\\r\\n]|\\\\(?:.|x[a-fA-F\\d]{2}|u\\{[a-fA-F\\d]{1,6}\\}))'/,lookbehind:!0,greedy:!0}],builtin:/\\B@(?!\\d)\\w+(?=\\s*\\()/,label:{pattern:/(\\b(?:break|continue)\\s*:\\s*)\\w+\\b|\\b(?!\\d)\\w+\\b(?=\\s*:\\s*(?:\\{|while\\b))/,lookbehind:!0},\"class-name\":[/\\b(?!\\d)\\w+(?=\\s*=\\s*(?:(?:extern|packed)\\s+)?(?:enum|struct|union)\\s*[({])/,{pattern:RegExp(\"(:\\\\s*)<TYPE>(?=\\\\s*(?:<ALIGN>\\\\s*)?[=;,)])|<TYPE>(?=\\\\s*(?:<ALIGN>\\\\s*)?\\\\{)\".replace(/<TYPE>/g,e(s)).replace(/<ALIGN>/g,e(o))),lookbehind:!0,inside:null},{pattern:RegExp(\"(\\\\)\\\\s*)<TYPE>(?=\\\\s*(?:<ALIGN>\\\\s*)?;)\".replace(/<TYPE>/g,e(s)).replace(/<ALIGN>/g,e(o))),lookbehind:!0,inside:null}],\"builtin-types\":{pattern:/\\b(?:anyerror|bool|c_u?(?:short|int|long|longlong)|c_longdouble|c_void|comptime_(?:float|int)|[iu](?:8|16|32|64|128|size)|f(?:16|32|64|128)|noreturn|type|void)\\b/,alias:\"keyword\"},keyword:r,function:/\\b(?!\\d)\\w+(?=\\s*\\()/,number:/\\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\\d]+(?:\\.[a-fA-F\\d]*)?(?:[pP][+-]?[a-fA-F\\d]+)?|\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\b/,boolean:/\\b(?:false|true)\\b/,operator:/\\.[*?]|\\.{2,3}|[-=]>|\\*\\*|\\+\\+|\\|\\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\\]]/},n.languages.zig[\"class-name\"].forEach(function(e){null===e.inside&&(e.inside=n.languages.zig)})}(Prism);\n"
  },
  {
    "path": "src/package.json",
    "content": "{\n  \"name\": \"human-gpu\",\n  \"version\": \"1.0.0\",\n  \"description\": \"an hands on crash course on GPU.\",\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"start\": \"./node_modules/http-server/bin/http-server html & node gen-pdf.js && pkill http-server\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/luruke/human-gpu.git\"\n  },\n  \"author\": \"\",\n  \"license\": \"ISC\",\n  \"bugs\": {\n    \"url\": \"https://github.com/luruke/human-gpu/issues\"\n  },\n  \"homepage\": \"https://github.com/luruke/human-gpu#readme\",\n  \"devDependencies\": {\n    \"http-server\": \"^0.12.3\",\n    \"puppeteer\": \"^8.0.0\"\n  }\n}\n"
  }
]